1;日志输出
Debug.Log
2;变量、可以变化的量
int
例;int hp =100; //赋值=把右边的值赋值给左边的变量
1;日志输出
Debug.Log
2;变量、可以变化的量
int
例;int hp =100; //赋值=把右边的值赋值给左边的变量
eunm
void Start ()
{
数学运算符
+-*/%
赋值运算符
= += -= *= /= %=
+= : a+=b 等价于 a=a+b
比较运算符
> >= < <= == !=
逻辑运算符(逻辑运算符都是服务于bool运算的)
&& I I !
! : 取反,例如下
bool isDead = false;
print(!true);
print (!false);
&& 逻辑与
l l 逻辑或
! 取反
例如:
int player1hp = 80;
int player2hp = 90;
if( player1hp<=0 && player2hp<=0)
{ print("GameOver");}
C#
unitY
1.多行注释 /*
*/
l l : 或
print(true l l true); //返回true的情况
print(false l l true);
print(true l l false);
print(false l l false);
例如:
int player1hp = 0;
int player2hp = 0;
if ( player1hp>0 l l player2hp>0)
{ print ("生成敌人") ;}
运算符:
数学运算符
+-*/%
赋值运算符
= += -= *= /= %=
+= : a+=b 等价于 a=a+b
比较运算符
> >= < <= == !=
逻辑运算符(逻辑运算符都是服务于bool运算的)
&& I I !
! : 取反,例如下
bool isDead = false;
print(!true);
print (!false);
&& 逻辑与
l l 逻辑或
! 取反
例如:
int player1hp = 80;
int player2hp = 90;
if( player1hp<=0 && player2hp<=0)
{ print("GameOver");}
脚本中变量的定义:
private 私有的,隐藏起来的
public 公有的,变量定义,在界面是可以看到的
脚本的基本结构:
声明一个类
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("创建了一个敌人"); }
数组声明的第二种方式:
int[ ] hps = null ;
//如果不想构造这个数组的话,可以给一个空值
int[ ] hps2={ };//没有指出数组的长度
print(hps);
print(hps2);
数组声明的第三种方式:
int[ ] hps = new int[5] {34,2,324,3,2};
//不仅有数组的长度,还有数组里每个元素的值
长度必须要跟后面的值是对应的