Unity的sendmessage用法

刚学完sendmessage用法,自己也尝试测试了一下,用法如下:

1.在unity2017新建一个场景test

2.在场景中添加一个立方体cube作为主角,另添加一个胶囊体capsule,调整为如图形状作为被调用方。

3.给主角添加脚本test.cs

 1 /***
 2  * 
 3  * 
 4  * 
 5  * 1.测试sendmessage用法
 6  * 2.添加一个button,用于开启传值
 7  * 
 8  */
 9 using System.Collections;
10 using System.Collections.Generic;
11 using UnityEngine;
12 
13 public class Test : MonoBehaviour {
14     public GameObject ReceiveObj;
15     void Start()
16     {
17         ReceiveObj = GameObject.Find ("Capsule");
18     }
19     void OnGUI()
20     {
21         if (GUI.Button(new Rect(30,30,50,20),"点击")) {
22             //调用其他脚本的数据
23             ReceiveObj.SendMessage("DisPlayContent","I'm Hevin!");
24         }
25     }
26 }

4.给capsule添加Receive.CS,用于接受主角的参数传递,实现自身旋转以便更好观察效果

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Receive : MonoBehaviour {
    private bool IsRotate = false;
    void DisPlayContent (string content) {
        print ("Capsule receive a message" );
        IsRotate = true;
    }
    void Update()
    {
        if (IsRotate) {
            this.transform.Rotate (Vector3.up);
        }
    }
}

5.测试结果,点击按钮,胶囊体开始旋转,sendmessage用法测试完成。

 

/*** *  *  *  * 1.测试sendmessage用法 * 2.添加一个button,用于开启传值 *  */using System.Collections;using System.Collections.Generic;using UnityEngine;
public class Test : MonoBehaviour {public GameObject ReceiveObj;void Start(){ReceiveObj = GameObject.Find ("Capsule");}void OnGUI(){if (GUI.Button(new Rect(30,30,50,20),"点击")) {//调用其他脚本的数据ReceiveObj.SendMessage("DisPlayContent","I'm Hevin!");}}}

猜你喜欢

转载自www.cnblogs.com/jyddpen/p/10799203.html