void start 只输出一次
void update 每秒输出
void start 只输出一次
void update 每秒输出
int hp=100
2017版 java c#
布尔类型:是 or 否
bool:true or false
字符类型:存字符
char:要用‘’
string:要用“”(字符串,应用于命名)
整型:8个
long:
sbyte:-128~127(节约内存)
浮点类型
double(精度更大,默认类型)
float:小数后跟上“f”
初始化:给变量赋值
浮点类型:小数
Debug.Log():任意
Debug.LogWarning():警告
Debug.LogError():错误
print():
单行注释/
多行注释/*
*/
public GameObject 名;// 可以拖拽任何物体
public Camera 名; // 只可以拖拽Camera物体
transform.Find("子物体路径");查找子物体或子子物体的transform组件,以此类推。
GameObject.Find("物体名")查找对应的物体,返回第一个。
Find("")根据名字在场景遍历查找,耗费性能,不推荐使用。
GameObject.FindWithTage("标签名");根据标签查找物体,推荐使用。
名.enablled = true/false用来开启/禁用该组件
当脚本/组件被禁用后,unity调用的方法(Start,Update)将被禁用,自定义的方法可以执行。
修改组件的属性:
1.声明一个组件为A
2.A.属性名 = ****
GetComponentsInChildren<Transform>(true);//游戏对象下的子物体激活的没激活的都会被拿到,包括游戏对象本身 GetComponentsInChildren<Transform>(false);//游戏对象下的子物体激活的会被拿到,包括游戏对象本身;没激活的不会被拿到
另外,()不写的活默认为false.
transform代表被脚本附加的当前物体
Start方法只会执行一次,一般用来初始化
Update方法每一帧会执行一次。
注意第一个字母大写。
public定义的变量可以在inspector面板中显示和修改,private修饰的变量不显示。最终值由面板修改的值为准。
变量也可以是引用类型。
GameObject类型可以拖拽物体进行赋值。
引入命名空间后,可以直接(不需要 )使用命名空间下的类。
Start和Update方法是unity调用的,我们不用管它是怎么调用的,方法名称要写对。
Enemy中属性设为public才能中通过对象来访问。
=是赋值
==是等于
两个整数相除,小数部分会被自动舍去。
多个数据类型运算,返回的结果类型是数据类型大的。
float比int数据类型大。
不同的整数类型占的内存大小不同。
选择合适的类型去存储整数可以节约内存。
如果在代码中没有对某个非整数值(如12.3)硬编码,则编译器一般假定该变量是double。
如果想指定该值为float,可以在其后加上字符F(或f),如:
float f = 12.3F;