警告
警告
3——GameObject.Find("游戏物体名称");(比较耗费性能,因为它是全局查找)
比如说主摄像机(Main Camera)这个游戏物体。
注意:你查找的时候必须保证这个名字是唯一的,如果不唯一,那么就有可能没有查找到你想要的那个游戏物体
GameObject main camera=GameObject.Find("Main Camera");//得到的是GameObject类型,需要一个新的GameObject类型的变量来接收
4——根据游戏物体标签查找(比较节约性能)
GameObject.FindWithTag("游戏物体标签");
你比如要查找一个标签为Player的游戏物体(获得的是GameObject类型):
GameObject player=GameObject.FindWithTag("Player");
在获取一个游戏物体之后,如果这个游戏物体身上挂在了一些组件,那么你就可以通过如下代码,去获取这个游戏物体身上的组件,并使用这些组件的一些方法:
public GameObject Player;
Player.GetComponent<Transform>();
foreach()
说的太详细了,女朋友一看就会!
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);