unity3D—Mono Develop脚本编辑器

来源:互联网 发布:淘宝旺旺买家官方下载 编辑:程序博客网 时间:2024/06/04 19:11
欢迎大家关注我的日志,今天介绍下Mono Develop脚本编辑器:

一、Mono Develop脚本编辑器介绍

 1.注意:

1)、项目运行过程中的修改不会保存

2)、脚本只能依附于游戏对象或由其他脚本调用才能运行

3)、一个脚本可以放在多个游戏对象上面,是多个实例

4)、一个脚本的多个实例和其他脚本之间互不干扰

 

2.脚本在Project中的显示名称不要加cs,类名要和cs名称一致,所有的类继承自MonoBehaviour

 

3.项目工程分层设计:

 

Scenes:存放场景

Scripts:存放脚本

Resources:资源包

Textures:贴图

Materials:材质

Aduios:声音

Model:模型

 

4.初始化不要放在构造函数中,而是放在Start()方法中。

 

二、创建、克隆、销毁游戏对象

 

GameObject cube=GameObject.CreatePrimitive(Primitive.Cube);

 

Cube.name=”cube1”//设定名字

 

Cube.renderer.material.color=Color.red;//设定颜色

 

GameObject obj=(GameObject)Instantiate(cube);//克隆对象

 

Destroy(obj,1)//销毁对象

 

Cube.AddCommponent(“script1”);//script1这个脚本加到cube这个游戏中

 

Rigidbody  rb = GameObject.AddComponent ("Rigidbody");//给游戏物体添加刚体

 

SphereCollider  sc = GameObject.AddComponent ("SphereCollider");//给游戏物体添加球体碰撞器

 

三、常用核心类

 

1  通过名称来查找:

 

GameObject  player = new GameObject("Player");

GameObject  go=GameObject.Find(“Player”);

 

2  通过tag标签获取单个游戏对象:

 

GameObject  go=GameObject.FindWithTag(“Player”);

GameObject go=GameObject..FindGameObjectWithTag (“Player”);


3  通过游戏标签获取多组游戏对象:

 

GameObject[]  go=GameObject.FindGameObjectsWithTag

 

Time

 

float  a=3.0f;

void Update ()

{

a-=Time.delatTime;

print(a);

}

 

按下A键,游戏物体向左移动;按下D键,游戏物体向右移动

                 

float move_h=0;

if (Input.GetKey (KeyCode.A)) {

move_h-=Time.deltaTime;

}

if (Input.GetKey (KeyCode.D)) {

move_h+=Time.deltaTime;

}

transform.Translate(new Vector3(move_h,0,move_v));

 

四、协同程序(Coroutine

 

协同程序,即在主程序运行时同时开启另一段逻辑处理来协同当前程序的执行。换句话说,开启协同程序就是开启一个线程。

 

Yield语句是一种特殊型的Return(返回)语句,他可以确保函数在下一次被执行时,不是从头开始,而是从Yield语句开始的。

 

可以实现将一段程序延迟执行或者将其各个部分分布在一个时间段内连续执行

 

void Start ()

{

print("Start开始");

StartCoroutine(Do());

print("Do调用后");

}

IEnumerator Do()

{

print("Do开始");

yield return WaitForSeconds(3.0f);

print("暂停3秒后");

}

 

五、Random(随机数)

 

float a=Random.value;

int b=Random.Range(0,100)    包括最大和最小

float c=Random.Range(0.0f,1.0f);   包括最小但不包括最大

 

六、消息传递函数

 

GameObject.SendMessage:向自身的脚本中发送消息

 

GameObject.BroadcasMessage:向自身及子物体的脚本中发送消息

 

GameObject.SendMessageUpwards:向自身及父物体中发送消息

 

Sphere:      

void Start ()

{

gameObject.SendMessageUpwards ("Do","向父对象发出信息");

}

Cube:

void Do(string message){

print (message);

}

如果大家还有什么困难的话可以关注我的日志:

http://unity.gopedu.com/home.php?mod=space&do=blog&view=me

还可以关注我们的狗刨网:

http://www.gopedu.com/

0 0