C#基础(基于unity的运用)

输入和输出:

print(1);

print("23456");//只能在继承MonoBehaviour环境中使用

Debug.Log(1);//在任意环境中可以输出

Debug.LogWarning("")//警告

Debug.LogError(“”);//在日志里面显示 错误


数据类型:

bool 类型常用于判断是否正确。//bool res= 100>78;会返回ture

float 浮点型   float hp2=3,4f;//注意f

char 字符型;

string name ="绝地武士";字符串型


字符串相加:

string str1="aaa";

string str2="bbb";

string strRes=str1+str2;

print(strRes);


循环语句:

if(){}else{}语句;

for()循环,       

    // 遍历数组

      for(int i=0;i

      {

            print(hps[1]);

      }

switch() case;语句


switch(heroType)

{

    case 0:print();break;

    case 1:print();break;

    defalt;break;

}


while()



数组:

声明数组   法1:类型 [] 数组名={数组值}           //            int [] hps={10,20,10};

                 法二:int[] hps=new int [20];//数组长度为20;使用这种方式会使用默认值0初始化。

                            int [] hps=null;

                            int [] hps={};

                 法三:int [] hps= new int [5]{1 ,2,3,4,5}          //         必须相对应

                               




函数:

Length可以访问到数组长度



方法的定义和调用:

返回值 方法名(参数)

{

    方法体;

}

//void CreateEnemy(Vector3 pos)         比如在start下调用 :  CreateEnemy(new Vector3(1,1,1))

{

        print ("创建敌人");

        print ("设置敌人位置"+pos);

}


枚举类型:

enum RoleType

{

        Mag,

        Solider,

        Wizard

}


//调用

RoleType rt =RoleType.Mag;

rt = RoleType.Solider;


枚举类型的使用:

便于我们运用代码



类的创建,声明和构造:

class是关键字,加类名

如class Enemy{

    string name;

    int hp;

}//类的定义

在start 里面:

          int hp=100;

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

          Enemy enemy1=new Enemy();//类的声明=类的创建构造对象

Enemy enemy1=new Enemy();

Enemy enemy1=null;

print(enemy1.name);

enemy1.name=" ";//赋值



class Enemy{

    public string name;//public 的字段才可以通过对象访问。

    public int hp;

    public void move ()

{

        Debug.Log(”正在移动”);

}

}


补充:

脚本的基本结构

//

命名空间

定义的类

namespace +名字//定义命名空间


脚本中变量的定义:

访问修饰符:public private



运算符:

数学运算符   + - * /

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

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

逻辑运算符:

&&  //     逻辑“与”

 ||     //    逻辑“或”

!    //    取反



unity 中应用:得到子物体。

 

Transform[] children =transform.getComponentsInChildren();//得到所有组件

for(int i=0;i

{

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

}


Transform[] children =transform.getCompontentsInChildren();


int i=0;

while(i

{

    if(children[i]!=transform)

    {

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

    }

   i++;

}


int i=0;

do{

        if(children[i]!=transform)

    {

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

    }

}

while(I


foreach(Transform t in children)//专门做遍历

{

       if(t!=transform)

{

        Destory(t.gameObject);

}

}


组件的获取:

Transform t= getComponent;      //返回值是transform类型的

又例如加了几个碰撞器,则

Collider [] colliders=GetCompontent();

foreach(Collier c in colliders){

print(c);

}

print(GetComponment());

就算被禁用,通过拖拽也可以得到


组件的禁用和激活:

只有带勾的才能禁用。

BoxCollider collider =GetComponent();

collider.enable=false;//把enabled设置为false 表示禁用


获取游戏物体的四种方式:

1,直接通过拖拽的方式

public GameObject Camera;

public Camera mainCamera;

2,通过给指定路径:

print(transform.Find("GameObject(1)/GameObject"))

print(transform.Find("GameObject(2)"));


3,直接进行搜索//挨个查找

GameObject mainCameraGo=GameObject.Find(“Main Camera”);

print(maincameraGo);


4,通过标签来查找

给其指定一个标签

GameObject player =GameObject.FindWithTag("标签名称");

print(player);


END


你可能感兴趣的:(unity)