三、简单的游戏代码
在写代码之前,首先我们需要一个模型进行用例的测试来用。
在Hierarchy视图中添加一个Cube和一个Plane,并为Cube添加上刚体(Rigidbody保证物体的重力作用)。
为Cube创建一个子物体Cylinder,做为Cube方向的标识。
1.鼠标的点击控制代码
在Project->Assets中添加一个文件夹Cs做为代码存储空间,在Cs中建立一个C#脚本“moveCube”,将脚本挂载到Cube上。
在脚本打开后,可见两个自带两个函数void Start()与void Update()作用分别为,游戏运行时函数运行一次和游戏运行中每帧运行一次函数。
在此我们添加一个函数OnMouseDown()//鼠标点击物体后运行函数。
~颜色变化。
添加代码:
void OnMouseDown()
{
//物体.获取<Renderer>属性.材质.颜色=颜色.黑色
this.GetComponent<Renderer>().material.color = Color.black;
}
在点击挂载脚本的物体之后,将物体的材质变为黑色。
我们可以发现Cube的颜色变为了黑色,但是Cube的子物体并没有改变。这是因为在脚本中并没有子物体的属性,也就无法进行改变了。
如果希望Cylinder一起改变颜色,我们需要先在脚本中设置一个public GameObject变量,然后再Unity中将Cylinder赋值给他。
代码:
public class moveCube : MonoBehaviour {
public GameObject objCylinder;
void OnMouseDown()
{
//RGB三原色和透明度(支持透明Material->Rendering Mode<Transparent>)
this.GetComponent<