07一脚本控制多物体三种方式--《程序员学Unity3d》

来源:互联网 发布:java抽象类的作用 编辑:程序博客网 时间:2024/06/08 04:46

已经知道怎样简单地控制物体的运动了,继续扩展下,学习如何方便地同时控制多个物体。

在脚本中访问其它的物体

一:通过脚本参数

public GameObject  gameObject;

然后就能在脚本的控制面板中看到该“公共”参数,然后将物体实体拖拽到该脚本的该参数上即可实现控制。

一般我们可以在一个脚本上控制多种物体,然后将该脚本赋给“地面”这类永久存在的物体,方便控制,也方便共享脚本给其它人用(合作)。

二:通过物体名称

添加一个球和方体,名称为Capsule和Cube。

 

GameObject capsule=GameObject.Find("Capsule"); //找物体名称。若有两个物体名字相同,只获取到最上的一个。GameObject cube=GameObject.Find("Cube");capsule.renderer.material.color=Color.red;cube.renderer.material.color=Color.gray;


 

//可以通过目录方式来获取更加确定的位置

比如有

A1/C

B1/C

两队物体。GameObject cube=GameObject.Find("/A1/C");就可以访问到下面的C物体

三:语句块参数传递

GameObject n;//碰撞触发事件(手工输入代码,函数名不可改变) void OnCollisionEnter(Collision collisionInfo) { n=collisionInfo.gameObject; //获取被碰撞的物体n.renderer.material.color=Color.red; }


 

2 0