1.文件上右上角有个星标:未保存;
2.文件名要跟类名保持一致;
3.保存
场景的保存
代码的保存
1.文件上右上角有个星标:未保存;
2.文件名要跟类名保持一致;
3.保存
场景的保存
代码的保存
Unity获取组件
访问自身的组件:
1.GetComponent:泛型类,返回单个组件或组件数组.不管组件是否启用都可以获取.
2.通过拖拽赋值.
3.GetComponentInChildren:返回子类组件.
获取另外一个物体的组件:
通过拖拽游戏物体到public变量赋值,然后通过这个变量的GetComponent方法获得组件
Unity获取游戏物体的4种方式:
1.直接拖拽:在脚本里定义一个public变量,在Unity面板上拖拽游戏物体到脚本变量上
2.transform.Find方法通过物体名称(查找子物体要提供路径)查找物体.
3.GameObject.Find方法.只需要给方法一个名字,名字可能会重复,它只会返回第一个.遍历,性能低.
4.通过tag查找.通过GameObjectFindWithTag()方法,给方法参数提供tag名称.
GetCTransform
Preferences 中的ExternalTools中可以更改编写C#所用的工具
利用类声明的变量,叫做对象
类名 变量名=new 类名()//构造对象
类中用public 类型名 变量名 声明的才能在别的 类中访问
类名 变量名=new 类名()//构造对象
构造后
可以 变量名.(public)
class 类
定义类 class xxx(类名){ }
赋值类 (new)
class xxx=new xxx();
声明
//声明数组 类型名[个数] 数组名 ={数组值}
int[x] xxx ={ x,x,x,x,x};
int[] xxx=new int[x];(默认为零)
int[] xxx=new int[x] {x,x,x,x,x }
整数
long
int
short
sbyte
浮点类型
float
print (a);
print()只能在MonoBehaviour组件使用
Debug.Log()可以在任何代码使用
学习日志
12月17日星期天
通过将近两周的学习,我已大致学习了关于Unity 3d,c#编程课程的第一章节,课程里讲的东西,都可以编写出来,哪里出了错误,自己也基本上也知道该怎么改正...但总感觉自己很茫然,总是边学边忘的...明明看着视频的时候都知道该下一步该怎么做,但是试着自己写的时候,总是会忘记一部分东西,比如定义了一段代码,然后就忘了怎么去调用它...
//什么是方法
void start(){
}与
void update(){
}即可称为方法
一般方法可以看作
返回值 方法名(参数){方法体
}
//在void start下端位置定义一个方法比如
void test(){
print ("test方法被调用了");}
//定义方法
void test(){
print("test方法被调用了");
}
void CreateEnemy(){
print("创建敌人");
print("设置敌人位置");
print("设置敌人初始属性");
}
//然后在void start中调用方法
CreateEnemy();//使用1次就调用1次
CreateEnemy();//使用2次就调用2次
注意,当需要执行另一个c#脚本的时候需要将他拖入游戏空间,记得勾选需要使用的脚本
if 可以判定范围
switch不可以判定范围只能判断一个值
if语句就是指根据当前条件来判断是否执行当前代码
if语句代码类型
int hp =90;
if(hp <= 0)
{
print("播放死亡动画");
}
ifelse语句在if语句之后加else
else
{
print(“播放行走动画”);
}
比较运算符
一般用<, >, <=, >=, !=
来表达,常用于比较两个数值的大小。。。。
一般代码类型为
int 操作数1 运算符 操作数2
常量代码类型为
bool res 7>5;
变量类型代码为
int hp =100;
bool res = hp>0;
print(res);
算数操作符加减乘除
一般写法为
int a = x ;b=y;
然后以此类推加减乘除
int res = a + b
print(res);得值
int res 1 =a-b;
int res 2 =a*b;
int res 3 =a/b;
print(res1);
print(res2);
print(res3);
注意
除法可能会遇到出不开的结果,小数会被自动舍去,所以,当两个数据类型运算,所返回的结果类型取较大的数据类型。
字符串可以使用string的类型来相加
string str1 = “xxx”;
string str2 = “yyy”;
print(strRes);