第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從另一個腳本訪問變量/函數(shù)

從另一個腳本訪問變量/函數(shù)

牛魔王的故事 2019-08-03 11:03:43
從另一個腳本訪問變量/函數(shù)所以我試圖通過觸摸一個立方體來改變另一個腳本中的變量。電流設置1x播放器1倍敵人每個人都有自己的腳本Enemy_Stats & Character_Stats正如您在這個小片段中所看到的,從另一個腳本訪問變量是一個很好的解決方法。void OnCollisionEnter(Collision collision){     if (collision.gameObject.tag == "Enemy")     {         collision.gameObject.GetComponent<Enemy_Stats>().Health =              collision.gameObject.GetComponent<Enemy_Stats>().Health              - gameObject.GetComponent<Character_Stats>().AttackDamage;         if (collision.gameObject.GetComponent<Enemy_Stats>().Health <= 0)         {             Destroy(collision.gameObject);         }     }}我是統(tǒng)一的新手,但是難道沒有一種方法可以用這樣的東西來引用它:collision.Health?
查看完整描述

3 回答

?
湖上湖

TA貢獻2003條經(jīng)驗 獲得超2個贊


如何從另一個類訪問變量/函數(shù)。要訪問或調(diào)用的變量或函數(shù)必須為publicprivate.

public class ScriptA : MonoBehaviour{

    public int playerScore = 0;

    void Start()
    {

    }

    public void doSomething()
    {

    }}

存取變量playerScore在……里面ScriptA從…ScriptB..首先,找到腳本或組件附加到的GameObjectGameObject.Find函數(shù),然后使用GetComponent函數(shù)檢索附加到它的腳本或組件。

public class ScriptB : MonoBehaviour{

    ScriptA scriptInstance = null;  

    void Start()
    {
      GameObject tempObj = GameObject.Find("NameOfGameObjectScriptAIsAttachedTo");
      scriptInstance = tempObj.GetComponent<ScriptA>();

      //Access playerScore variable from ScriptA
      scriptInstance.playerScore = 5;

     //Call doSomething() function from ScriptA
      scriptInstance.doSomething();
    }}




查看完整回答
反對 回復 2019-08-05
?
桃花長相依

TA貢獻1860條經(jīng)驗 獲得超8個贊

自那以后沒有Health不是碰撞對象的一部分,但是Enemy_Stats..您可以緩存Component(這就是EndemyStats是什么)如果您多次使用它來節(jié)省一些輸入(以及一些性能,但對于本例來說,這是相當有限的)。此外,您還可以緩存“已知”組件,如本例中所示。Player_Stats..你可以這樣做,例如Start或者用公共變量和檢查員。

不過,你應該做的是讓敵人對他的生命負責,而不是讓玩家負責。Destroy-部分-Enemy_Stats(確切地說是進入健康財產(chǎn))。




查看完整回答
反對 回復 2019-08-05
?
翻翻過去那場雪

TA貢獻2065條經(jīng)驗 獲得超14個贊

第一件要縮短(并最終更快)的事情是存儲以下內(nèi)容:gameObject.GetComponent<Character_Stats>()在……上面Start()在私有變量中(如果可以避免的話,應該避免頻繁調(diào)用GetComponent)。

對于健康變量,一種避免GetComponent調(diào)用可能是緩存:您創(chuàng)建一個Dictionary<GameObject, Enemy_Stats>一旦這個游戲物體相撞一次


查看完整回答
反對 回復 2019-08-05
  • 3 回答
  • 0 關注
  • 374 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號