Unity3d中SendMessage 用法簡單筆記


Message相關有3條指令:
SendMessage ("函數名",參數,SendMessageOptions) //GameObject自身的Script
BroadcastMessage ("函數名",參數,SendMessageOptions)  //自身和子Object的Script
SendMessageUpwards ("函數名",參數,SendMessageOptions)  //自身和父Object的Script
用於向某個GameObject發送一條信息,讓它完成特定功能。
其實本質是調用那個GameObject里面的Script里面的函數,可以跨語言的,例如Javascript可以調用C#的函數,我已實驗成功。
☆另外,如果GameObject本身有兩個腳本,例如“move1”和“move2”,兩個腳本內有同名函數例如“moveMe()”,會兩個函數都執行一次。

第三個參數使用:
SendMessageOptions.RequireReceiver //如果沒有找到相應函數,會報錯(默認是這個狀態)
SendMessageOptions.DontRequireReceiver //即使沒有找到相應函數,也不會報錯,自動忽略

  1. //test01.js
  2. function playTest(n:int)
  3. {
  4. print("test01 play!!!!!No."+n);
  5. }

 

    1. //testMessage.js 
    2. var objA:GameObject;
    3. var n=0;
    4. function Update()
    5. {
    6. n++;
    7. objA.SendMessage("playTest",n);
    8. }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM