本次主要介绍5个鼠标事件
void OnMouseEnter():鼠标进入 void OnMouseExit():鼠标移出 void OnMouseDown():鼠标点击 void OnMouseUp():鼠标抬起 void OnMouseDrag():鼠标拖曳
2个静态方法
static GameObject Instantiate():克隆 static void Destroy():销毁
本次案例
本次要求:天上不断的掉下方块,当鼠标在方块上做各种操作,方块会变色 布置场景 一个具有各种鼠标点击事件的预制(muti), 一个鼠标点击事件的脚本(MouseClick.cs) 一个克隆的脚本(MuTiClone) 一个Plane,一个平行光,一个空的游戏对象 制作muti 1>添加一个Cube1,并设置Rigidbody 2>编写MouseClick.cs
public class MouseClick : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnMouseEnter()
{
gameObject.renderer.material.color =Color.red;
}
void OnMouseExit()
{
gameObject.renderer.material.color = Color.blue;
}
void OnMouseDown()
{
gameObject.renderer.material.color = Color.green;
}
void OnMouseUp()
{
// gameObject.renderer.material.color = Color.yellow;
// 当鼠标抬起的时候 销毁游戏对象
GameObject.Destroy(gameObject);
}
}
3>添加预制 把MouseClick拉到Cube1中,把MouseClick.cs拉到Cube1中,最后把Cube1拉到母体中,这个时候,可以把Cube1删掉了 编写克隆脚本 1>添加一个GameObject,拉到适当位置,作为要克隆的游戏对象的初始位置 2>编写克隆脚本
public class MuTiClone : MonoBehaviour
{
// 因为是public,会在Inspector中看到这个属性,对应一个游戏对象
public GameObject go;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetKeyUp(KeyCode.Space))
{
// 当我们抬起空格键的时候 开始克隆
GameObject.Instantiate(go, gameObject.transform.position, gameObject.transform.rotation);
}
}
}
3>MuTiClone.cs拉到GameObject中,并把muti拉到对应的Go中 4>运行,点击空格,天上掉下方块,鼠标操作各种变色
转载于:https://www.cnblogs.com/kimisme/p/4268392.html