定义变量之后一定要初始化
unassigned :没有指定的值
variable :变量
use of unassigned local variable *** :使用了一个没有赋值的变量
定义变量之后一定要初始化
unassigned :没有指定的值
variable :变量
use of unassigned local variable *** :使用了一个没有赋值的变量
Ctrl+K -> Ctrl+C //组合快捷键 快速注释
定义变量:
类型 变量名 (初始值)
变量名包含下划线、大小写字母、数字,不能以数字开头
// 单行注释
/*。。。。。。。*/ 多行注释
文件名有“*”号表示 还没有被保存
文件名和类名要保持一致
一个文件可以有多个类
Ctrl +S 保存场景、保存代码
ctrl+k ctrl+c
'''
long mp =1000
因为内存不是无限的所以要用不同的变量形式
从节约内存考虑用sbyte
浮点类型
float hp2 =3.4f
int hp(可替换)
hp=100;//初始化
print(hp)
使用变量前一定要先初始化
int 是整数类型
hp = 1.1(xiao's
变量用于存储数据(例如人物的血量、名字)
注释快捷键(ctrl+k ctrl +c)
int (开头不能用数字) sth = 0000(可发生变化) 变量的形式
赋值 = 把右边的值(赋值)给左边的变量
print (sth 变量的名字)
变量只能在内部使用
Unity 中输出语句的区别
Print ();
只有继承了 MonoBehaviour 才能使用
Debug.Log();
可以在任意类和方法中调用
设置用VS2017打开,edit-preferences-external tools-external script editor-选择,如果没有显示,点击brose
unity支持的语言
c#
foreach (Transform t in children) {
if (t != transform)
Destory(t.gameObject);
}
1.第一种方式
定义一个变量,然后拖拽的方式赋值;
public GameObject CameraMain; // 获取相机物体;相机也是一个游戏物体,可以定义为GameObject 类型;直接把世界大纲中的游戏物体拖入变量中,
public Camera mainCamera ; //访问某个组件,访问MainCamera中的Camera组件,
可以把Game Object物体拖到 组件Main Camera上,这时它回去检测出MainCamera身上的组件,如果拖入其他物体的话,没有效果,因为他们身上没有Camera组件;
注意:如果变量是游戏物体,拖拽的对象必须是游戏物体,拖拽的对象是组件,那么拖拽的游戏物体身上必须要有这个组件;
2.第二种方式
transform.Find("GameObject1/GameObject1_1") //双引号内是子物体的路径,这个函数只能获取子物体对象,查找子物体,需要给一个子物体的路径。路径错误返回的Null; 查找时节约性能;
3.第三种方式
GameObject。Find(MainCamera);//方法内给一个名字,这个函数就会在世界大纲中查找叫这个名字的游戏物体,但注意,如果世界中有很多同名的物体,那么GameObject.find返回的时第一个物体,
缺点:它通过名字去查找,去在场景中搜索叫这个名字的物体,如果场景中游戏物体很多的话,查找起来很耗费性能,不推荐;
4.根据标签来查找
GameObject>FindWithTag("Player");
首先添加标签——标签有内置标签和自定义标签两种;点击大纲中的游戏物体,在inspector面板中,有一个Tag,可以下拉按钮,选择unity的内置标签,也可以通过Add Tag,添加自定义标签;
利用类声明的变量 ,可以称为对象
如果想访问类里的变量,可以通过public 利用对象描述写法调用
利用对象写法时可以参照java里的数组声明方式
默认的类为主类
类也算是可以说是类型(自我理解)
可以利用常用的数据类型组合成新的类型比如:
string name;(敌人名字)
得到子物体
Transform[ ] children = transform.GetComp
void Start () {
}
void:返回值 start:方法名 (参数){
方法体
}
int [] hpa = new int[5] {1,8,3,4,6};
for(int i =0; i<5; i++ );
{
print(hpa [i]);
}
i索引的范围是 0-4
i=0 时输出1
i=1 时输出8
int [] hpb = new int [6] {456,564,798789,3212,456,1};
for (int i=0; i<hpb.length ; i++);
{
print (hpb[i])
}
length