< Unity 3D专栏 >实现游戏对象与对象之间通信

来源:互联网 发布:mac生存游戏排行榜 编辑:程序博客网 时间:2024/04/28 17:55
游戏中,对象与对象之间需要交流,实现的方法多种,例如:可定义静态变量,其他脚本直接调用, 也可用到: SendMessage

今天主要学习SendMessage的用法。

 

1、创建两个脚本:“Cube0”和“Cube1”;

2、将两个脚本分别拖拽到Cube0和Cube1对象中;

3、修改Main.cs脚本:

 

using UnityEngine;using System.Collections;public class Main : MonoBehaviour {//定义全局游戏对象GameObject obj0;GameObject obj1;void Start (){//获取两个游戏对象obj0 = GameObject.Find("Cube0");obj1 = GameObject.Find("Cube1");}void OnGUI() {if(GUILayout.Button("Move0")){//告诉Cube0对象,发送一个方法//Receive是方法名称,My Code是参数;绑定的obj0对象脚本中需要有一个Receive方法接收参数obj0.SendMessage("ReceiveCube","My Cube0");obj1.SendMessage("ReceiveCube","My Cube1");}}void Update () {}}

 


设置Cube0 和 Cube1 脚本:

 

Cube0脚本:

using UnityEngine;using System.Collections;public class Cube0 : MonoBehaviour {//ReceiveCube方法,接收Main.cs传过来的参数void ReceiveCube(string str){Debug.Log(str);}}

 

Cube1脚本:

using UnityEngine;using System.Collections;public class Cube1 : MonoBehaviour {//ReceiveCube方法,接收Main.cs传过来的参数void ReceiveCube(string str){Debug.Log(str);}}


效果可见:


 

原创粉丝点击