40047人加入学习
(83人评价)
Unity中的C#编程 - 零基础(Unity 2017)

完成于2017-11-06

价格 免费

注意Inspector的HP值和代码里的值,如果更改的话将不统一

实际的值为Inspector为准

 

GameObject可以直接托个物体

[展开全文]
Zeroto · 2020-08-27 · 该任务已被删除 0

Public 的字段才可以通过对象来访问。

利用类声明的变量,可以叫做对象。

[展开全文]
Zeroto · 2020-08-27 · 该任务已被删除 0

一个方法内部定义的变量无法在另一个方法中使用,因此需要返回值。

 

int Add(int a,int b)

{

int res=a+b

returnres;

}

[展开全文]
Zeroto · 2020-08-27 · 该任务已被删除 0

枚举在class外面,用逗号分行隔开。

[展开全文]
Zeroto · 2020-08-27 · 该任务已被删除 0

int[] hps;数字不存在,无法使用.可以跟一个NULL,为空

int[] hps2={}数组存在,数组长度为0

[展开全文]
Zeroto · 2020-08-26 · 该任务已被删除 0

if后面跟true or false

[展开全文]
Zeroto · 2020-08-26 · 该任务已被删除 0

比较运算符返回的结果是布尔类型。

[展开全文]
Zeroto · 2020-08-26 · 该任务已被删除 0

start方法里的变量只能在START里面使用

无法在UPDATE方法里使用

[展开全文]
Zeroto · 2020-08-26 · 该任务已被删除 0

Debug.Log在任意地方都可以用

Print必须在MonoBehaviour类使用。

Debug.LogWarning,输出警告

Debug.LogError;错误,更严重。

可以选择来查看哪类日志。

[展开全文]
Zeroto · 2020-08-26 · 该任务已被删除 0

控制台输出:

print();

 

start():初始化,只执行一次

update():每帧执行一次

[展开全文]
宋GD · 2020-08-23 · 该任务已被删除 0

获取游戏物体的四种方式

访问相机,游戏物体:

public GameObject cameraMain;

访问某个特定的组件:

piblic Camera mainCamera;  //访问mainCamera组件

查找游戏物体:

transform.Find("访问的游戏物体路径")

查找游戏子物体:

transform.Find("游戏物体路径/物体下子物体路径")

通过标签查找

GameObject player=GameObject.FindWithTag("player");

print(palyer);  // palyer是标签 

[展开全文]
柏衍 · 2020-08-21 · 该任务已被删除 0

组件的禁用和激活

进入组件:

Rigidbody rgd=player.GetComponent<Rigidbody>();

禁用组件:

BoxCollider collider=GetComponent<BoxCollider>();

collider.enabled=false;  //禁用盒子碰撞器访问

组件里面的属性

Rigidbody rgd=player.GetComponent<Rigidbody>();

rgd.mass=100;  //以Rigidbody为例

[展开全文]
柏衍 · 2020-08-21 · 该任务已被删除 0

组件的获取

一个游戏物体可以挂载多个相同的组件

在Strat中输入:

Transform t=GetComponent<Transform>();

print(t);   访问自身的Transform组件

Collider[]  colliders=GetComponents<Collider>();

foreach(Collider c in colliders){

    print(c);

}  获取自身的所有的碰撞器  //定义数组接收 Collider[]

print(GetComponent<BoxCollider>()); 只得到盒子碰撞器

  

[展开全文]
柏衍 · 2021-06-26 · 该任务已被删除 0

foreach遍历

遍历数组

删除游戏物体

foreach(Transform t in children){

      if(t!=transform) //如果当前t不是游戏物体

      Destory(t.gameObject);

}  // t 代表每一个children

 

[展开全文]
柏衍 · 2020-08-21 · 该任务已被删除 0

for、while和dowhile循环

得到子物体的方法:

在strat中 输入

Transform[] children=transform.GetComponentsInChildren<Transform>();

用for循环销毁游戏物体

for(int i=0;i<children.Length;i++){

if(children[i]!=transform){ 

GameObject.Destroy(children[i].gameObject);

    }

}

用while循环销毁游戏物体

int i=0;

while(i<children.Length){

if(children[i]!=transform){ 

GameObject.Destroy(children[i].gameObject);

    }

   i++;

}

用dowhile循环销毁游戏物体

int i=0;

do{

if(children[i]!=transform){ 

GameObject.Destroy(children[i].gameObject);

}while((i<children.Length);

[展开全文]
柏衍 · 2020-08-21 · 该任务已被删除 0

if语句和switch语句的关系

switch case

例如:

switch (geroType){

       case1:

                break;

       case2:

                break;

}

switch只能执行单个的值判断是否相等

 

[展开全文]
柏衍 · 2020-08-21 · 该任务已被删除 0

if变形和枚举类型的使用

例如:

int heroType=0;  //1=solaier 战士 2=master 巫师 3=assassin 刺客

if(heroType==1){

}else if(heroType==2){

}else if(heroType==3){

}else if(heroType==4){

}else{

[展开全文]
柏衍 · 2020-08-21 · 该任务已被删除 0

运算符(逻辑与)

数学运算符     +  -  *  /  %

赋值运算符     =  +=  -=  *=  /=  %=

比较运算符     >  >=  <  <=  ==  !=

逻辑运算符    

&& 

|| 

!  取反 例如:print(!ture); 输出的布尔值会变成相反值  flash

 

[展开全文]
柏衍 · 2020-08-21 · 该任务已被删除 0

脚本中变量的定义

需要在unity面板上修改属性       public

私有属性不会在unity上显示       private

如果不输入pubic,private 

 

[展开全文]
柏衍 · 2020-08-21 · 该任务已被删除 0

unity脚本的基本结构

 namespace 命名空间的名字{   

}   //定义了一个命名空间

class 类的名字{

}   //定义了一个类

 

如果想要在工程中使用,需要在引入命名空间

using 命名空间的名字;   

[展开全文]
柏衍 · 2020-08-21 · 该任务已被删除 0

授课教师

问问题加入A计划,有专门负责答疑的老师哦!!!

课程特色

下载资料(2)
视频(37)

学员动态