39707人加入学习
(83人评价)
Unity中的C#编程 - 零基础(Unity 2017)

完成于2017-11-06

价格 免费

脚本的基本结构:

声明一个类
class GameDate

给一个命名空间,把声明的类放在里面

namespace MyGame

{

   class GameData{ }

}

在start里调用一下GameData,是没有办法访问的,因为它在MyGame下,没有引入命名空间,所以要引用一下命名空间:using MyGame;

[展开全文]

类中的方法:

public void Move( )

{ Debug.Log(name+"正在移动"};

 

[展开全文]

类的使用:

Enemy enemy1 = new Enemy( );

enemy1.name; 

//.name通过对象看对象里有哪些功能,有name 就可以访问到了

enemy1.name = "玛丽";

print(enemy1.name);

//在没有给Enemy赋值时,ememy的名字默认为null,即默认为没有

 

 

Enemy enemy2 = new Enemy( );

enemy2.name = "小二";

print(enemy1.name+" - "+enemy2.name);

 

 

[展开全文]

类的创建、声明和构造:

class Enemy

{ string name;

int hp;}

//由名字跟hp就组成一个类

类的使用:

void start( )

  int hp = 100;

Enemy enemy1 = new Enemy( );

//Enemy类  enemy1  赋值  new方法

}  

[展开全文]

方法中的返回值:

void Add(int a,int b)

{int res = a+b;}

在start方法里定义

Add(10,67);  //这里是示例

print(res);

//在start里不能直接调用res方法,因为它是在Add方法里的。

∴要给它一个返回值

对于一个方法只能有一种返回值

返回的类型要名字一致:

string Add(int a, int b)

{ int res = a+b;

return res;

//这里res不对,因为值为字符串类型,所以应该返回的是字符串类型的值

return string;

在start方法里定义:

int res = Add(10,67);

print(res);

[展开全文]

枚举类型:

类型区分第一种:

定义一个变量

int roleType = 0;//0魔法师1战士2巫师3坦克

但是这样比较麻烦

∴通过枚举类型

枚举类型:

enum RoleType

{  Mag,

   Soldier,

   Wizard  }

然后就可以声明变量了

RoleType rt = RoleType.Mag;

rt = RoleType.Soldier;

//声明的Mag变量

//声明的Soldier变量,这样不仅方便辨识名称,还方便后期修改

[展开全文]

方法的定义和调用:

方法的第一个作用:把这些代码放在同一个值下,方便重复调用

//返回值 方法名(参数)

定义一个方法:

void Test( )

{ print("Test方法被调用了");}

调用方法:

void start( )

{ Test( ); }

例如

定义一个方法:

void CreateEnemy()

{print("创建敌人");

print("创建敌人位置");

print("创建敌人的初始属性");}

调用方法:

void Test( )

{ CreateEnemy();};

 

[展开全文]

int[ ] hps = new int [8] { 1010,2,2,32,3,2,3}

for( int i = 0; i<8; i++)

{ print ( hps[i] ); }

//数组与for循环的结合

for( int i = 0; i<hps.Length;  i++)

{ print ( hps[i] ); }

//∵用了hps.length表示数组的长度,所以数组的长度不受限制

[展开全文]

for循环

print("创建了一个敌人");

//for循环就是一条指令要执行很多次

for(int i = 1; i<=10; i++)

{    }

//{} 是循环体

//i 是用来控制执行循环体的次数的

所以

for(int i = 1; i<=10; i++)

{  print("创建了一个敌人");  +i}

//这样是字符串跟数据的索引的结合,输出的结果为"创建了一个敌人1"随着i的增加会变为2.3.4...

 

如果想执行100次

for(int i=1, int <=100; i++)

{ print("创建了一个敌人"); }

[展开全文]
YUANo · 2023-07-31 · 116-for循环 0

数组声明的第二种方式:

int[ ] hps = null ;

//如果不想构造这个数组的话,可以给一个空值

int[ ] hps2={ };//没有指出数组的长度

print(hps);

print(hps2);

数组声明的第三种方式:

int[ ] hps = new int[5] {34,2,324,3,2};

//不仅有数组的长度,还有数组里每个元素的值

长度必须要跟后面的值是对应的

[展开全文]

数组和声明使用:

//数组    类型[ ]  数据名 = {数组值}

int[ ]hps={100,20,80,90,30};//数组长度为5

//通过索引来访问数据  ,从0号开始,通过数组名[索引],∵数组长度为5,0,1,2,3,4,∴数组的最大索引为4

//如果想索引第二个数据,即20→hps[1]

 

[展开全文]

if语句

if(hp<=0)

{print("播放死亡动画");}

else

{print("播放行走动画");}

[展开全文]
YUANo · 2023-07-31 · 113-if语句 0

比较运算符:

int hp=100; //血量100

bool  res=hp>0;//当血量>0时

print(res);//输出res

补充内容:

int hp=100;

hp+=10 ;  //hp=hp+10;

print(hp);

//hp=100;

//hp=hp+10是hp=100所以hp+10,就是hp为110

//输出hp110

hp-=100;  //hp=hp-100

print(hp);

//hp为110,hp-100,所以输出的值为10

[展开全文]

加减乘除的数据运算:

int a=90;int b=10;

int res=a+b;

print(res);

int res1=a-b;

int res2=a*b;

int res3=a/b;

print(res1);

print(res2);

print(res3);

对于除法来说,/,如果相除之后是小数,不符合int变量类型,所以两个整数相除,小数部分会被自动舍去

3+3.2f; 

//一个整数类型跟浮点类型相加的时候,float类型比整数类型大的时候,定义为float类型

float res4=3+3.2f;

∴多个数据类型运算,返回结果类型是数据类型大的

字符串:string str1="my name is"

string str2="siki"

string strRes=str1+str2;

print(atrRes);

 

[展开全文]

3.bool类型

bool来表示true或false

bool isDie=false;

4.字符串类型:

string name="绝地战士”;

//用英文双引号括起来的字符

[展开全文]

数据类型:

1.整数类型:

一般整数类型选int类型,范围不会超过这个

如果血量不超过100,处于节约内存方面的考虑,可以使用sbyte变量

如果是-30000~30000,可以用short变量

总体来说变量根据需要选择

2.浮点类型

浮点类型有两种double  float

float hp2=3.4f;

//小数后面跟f是为了证明是float 类型,否则就默认为double类型,这样前后类型不一致,系统没办法操作

 

[展开全文]

2.先声明变量再赋值

int hp;

hp=100;//得初始化一下变量,不然输出报错

print(hp);

int类型是整数类型

[展开全文]

变量:

如定义一个血量:

int hp=100;

int变量类型+hp变量名称=变量的值

“=”是赋值

这样print(hp)就能输出100,

 

[展开全文]

输出日志:

1.print:输出正常的日志

:把Log分成了三类

2.Debug.Log

Debug.LogWarning:在输出时同时给警示

Debug.LogError:在输出时给错误提示

 

[展开全文]

多行注释:/*作为注释开头,*/作为注释结尾

[展开全文]

授课教师

SiKi学院老师

课程特色

下载资料(2)
视频(37)