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

完成于2017-11-06

价格 免费

For循环

print("创造一个敌人");

for ( int i = 1; i <10; i ++) {

   print("创造一个敌人"+i) ;  //循环体内容

}

 

[展开全文]

//构造一个数组:

int[]hps=new int [10];

//10 表示数组的长度

int[]hps=new int [10] {432.65.15.65.6};

[展开全文]

创造数组的方式:

类型[] 数组名={数组的值}; 如下:

int [] hps={100.20.80.90.30}; //数组的长度为5

//通过索引来访问数据   数组名[索引] 如下:

print(hps[1]);

 

 

[展开全文]

1.整数类型:

int

long 

Sbyte

Short

2.浮点型

Float  // 存储小数

Float hp2=3.4f;

Double

 

 

[展开全文]

把一堆代码注释起来:ctrl+k , ctrl+c

 

//变量

int hp = 100;   // 生命变量,hp是自己定义的,变量不能数字开头

 

 

 

[展开全文]

类似print的功能输出:

Debug.Log("1123324")

警告:

Debug.LogWaring("1242")

错误:

Debug.LogError("24523")

[展开全文]

多行注释 , 开头和结尾
/*
 *
 *
 *
 *
*/

[展开全文]

专门用来遍历的

foreach(Transform t in children){

if(t!=transform)//t不是当前物体

Destroy(t.gameObject);

[展开全文]

符号整数

sbyte -128^127

short -32768^32767

int +_2147483647

无符号整数

byte 0^255

ushort 0^2(16)

小数

floatl

[展开全文]

获取GameObject

1.先定义 拖拽 物体或者组件

2.transform.Find("子路径")

3.GameObject.Find("物体名称")  全局查找

4.GameObject.FindWithTag("标签名称")  标签查找

 

[展开全文]

1. 通过GetComponentInChildren<组件类名>()可以获取子物体中第一个符合的组件

[展开全文]

1. 禁用组件只是引擎不会再调用其生命周期相关方法了,用户还可以手动代码调用

[展开全文]

获取游戏物体:

拖拽赋值,要求前后一致

 

 

获取游戏物体的子物体:

transform.Find("")

//(“”)内为查找对象的路径格式为:(“游戏物体1/游戏物体2”)

 

 

GameObject .Find("xxx");

//("")内为要查找到游戏物体的名称,若有多个重复名的游戏物体则会返回第一个

//根据全局搜索,较耗费性能

 

 

根据标签查找:

GameObject.FindWitchTag("xxx");

 

[展开全文]

禁用组件:

BoxCollider collider = Player.GetComponent<BoxCollider>();
 collider.enabled =false;

 

被禁用的组件方法依然可以使用

 

 

访问组件中的属性;

Rigidbody rgd = Player.GetComponent<Rigidbody>();
 rgd.mass = 100;

[展开全文]

访问自身组件:

GetComponent<Transform>();

//<>内为要访问的组件类型

 

GetComponents<collider>();

//<collider>获取所有碰撞器

 

获取子物体身上的组件:

游戏物体名字.GetCompnent<要获取的对象身上的子物体名字>();

[展开全文]

foreach(transform xxx in 数组名)

{

 

}

//xxx代表数组里的每一个元素

//foreach循环体会执行多次,执行一次的时候xxx就代表其中一个元素

 

只是遍历某个数组可用foreach循环

 

        foreach(Transform t in children)
        {
            if (t != transform)
            {
                Destroy(t.gameObject);
            }
        }

[展开全文]

利用循环销毁物体和子物体:

for循环:

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

//定义一个内容为该游戏物体所有组件的数组

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

{

if(children[i] !=transoferm)

{

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

}

}

//销毁游戏物体的子物体

 

 

利用while循环:

        int i = 0;
        while (i < children.Length)
        {
            if(children[i] != transform)
            {
                GameObject.Destroy(children[i].gameObject);
            }
            i++;
        }

 

 

do while循环:

do

{

//循环体

}

while(//循环条件)

//先执行循环体在判断满足条件,若满足则再次执行循环体

        int i = 0;
        do
        {
            if (children[i] != transform)
            {
                GameObject.Destroy(children[i].gameObject);
            }
            i++;
        }
        while(i<children.Length);

 

 

[展开全文]

switch case语法

 

switch(heroType)

{

case 1:

//在这里书写若()条件满足时执行的代码

        break;

case 2:

//在这里书写若()条件满足时执行的代码

        break;

case 3:

//在这里书写若()条件满足时执行的代码

        break;

default:

//在这里书写若()条件不满足时执行的代码

        break;

}

//default为默认情况,当上述情况不满足时则执行default语句

//default语句可不添加,case可有多个

 

 

变形:

switch(heroType)

{

case HeroType.soldier:

case HeroType.master:

print("战士发动技能");

print("法师发动技能");

        break;

//若heroType等于HeroType.soldier或等于HeroType.master执行

print("战士发动技能");

print("法师发动技能");

 

 

 

 

[展开全文]

授课教师

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

课程特色

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

学员动态