For循环
print("创造一个敌人");
for ( int i = 1; i <10; i ++) {
print("创造一个敌人"+i) ; //循环体内容
}
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
int !!! =//
print(!!!)
获取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("法师发动技能");