亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

為什么它不將 Bool 變量傳遞給另一個類?

為什么它不將 Bool 變量傳遞給另一個類?

C#
守著一只汪 2022-12-31 10:46:07
當玩家在觸發開關上走動時,我想打開一扇門,所以我創建了 2 個腳本,并將我的 Bool 變量設置在另一個類上,但它在這里不起作用是我的頭等艙代碼:internal bool openDoor=false;private void OnTriggerEnter2D(Collider2D door){       if (openDoor==true && door.gameObject.tag == "Player")    {        StartCoroutine(fading());    }}這是我的第二堂課,將 openDoor 設置為“true”:private void OnTriggerEnter2D(Collider2D doorTrigger){    if (doorTrigger.gameObject.tag == "Player")    {        LoadLevel03 l3 = new LoadLevel03();        l3.openDoor = true;    }}當我回來找門時,它不會打開,盡管我將 Bool 設置為 true。
查看完整描述

1 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

您正在創建 的新實例LoadLevel03,將其openDoor字段設置為 true,然后再次將其丟棄。


您需要掌握LoadLevel03關卡中已經存在的對象。


編輯:像這樣:


private void OnTriggerEnter2D(Collider2D doorTrigger)

{

    if (doorTrigger.gameObject.tag == "Player")

    {

        //find the existing level 3 object and allow it to open

        LoadLevel03 l3 = GameObject.Find("Level3Door");

        l3.openDoor = true;

    }

}

顯然,這取決于您將 3 級對象設置為名稱為“Level3Door”


附言。openDoor已經是一個布爾值,所以不需要在你的第一種方法中進行比較:即


if (openDoor && door.gameObject.tag == "Player")


查看完整回答
反對 回復 2022-12-31
  • 1 回答
  • 0 關注
  • 98 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號