日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Unity3D不同脚本函数或参数之间调用

發布時間:2023/12/10 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unity3D不同脚本函数或参数之间调用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

腳本通訊

假如,我們有兩個腳本:Main.cs,SliderControl.cs。現在希望從SliderControl.cs調用Main.cs內的函數或參數。

(一)、被調用腳本函數為static類型,調用時直接用 類名.參數

public class Main: MonoBehaviour {public static int index = 0; }// 在SliderControl.cs中調用index int para = Main.index;

(二)、GameObject.Find(“腳本所掛載在的物體的名字”)找到游戲對象,再通過GetComponent<腳本名>().函數名()調用腳本中的函數,只能調用public類型函數

public class Main: MonoBehaviour {public Vector3 CalculateTransPose(){//注意:必須是public函數...} }// 在SliderControl.cs中調用CalculateTransPose() public class SliderControl : MonoBehaviour {private Slider silder;public GameObject _GG1;// Start is called before the first frame updatevoid Start(){silder = GetComponent<Slider>();}// Update is called once per framevoid Update(){silder.value += 0.1f * Time.deltaTime;//調用Main.cs中的CalculateTransPose函數Vector3 func= _GG1.GetComponent<Main>().CalculateTransPose();} }

(三)、GameObject.Find(“腳本所在的物體的名字”).SendMessage(“函數名”);(還未嘗試)
//能調用public和private類型函數

據說,這是早期unity提供的方式,這個方法已經過時,在效率上比較低,故這里不再推薦。

參考鏈接

using System.Collections; using System.Collections.Generic; using UnityEngine;public class Enemy : MonoBehaviour {private void TakeDamage(){} }// 在其他腳本中調用TakeDamage()函數 GameObject.Find("Enemy_1").SendMessage("TakeDamage", SendMessageOptions.DontRequireReceiver); 除了SendMessage,還有SendMessageUpwards和BroadcastMessage函數,三個函數的參數相似,都是方法名+方法的參數+額外信息選項組成。

SendMessageOptions

  • SendMessageOptions.RequireReceiver //如果沒有找到相應函數,會報錯(默認是這個狀態)
  • SendMessageOptions.DontRequireReceiver //即使沒有找到相應函數,也不會報錯,自動忽略
  • 區別
    SendMessage僅向指定對象的所有腳本推送消息
    SendMessageUpwards向指定對象和它的所有父物體推送消息
    BroadcastMessage向指定對象和它的所有子物體推送消息

    注意:
    傳遞的對象似乎一次只能傳一個變量,因此可以將多個變量打包進一個數組進行傳遞。

    總結

    以上是生活随笔為你收集整理的Unity3D不同脚本函数或参数之间调用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。