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!");}}}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM