UE4(虛幻4)基礎:藍圖初識--開關門(四)拾取鑰匙打開門

拾取鑰匙打開門:玩家通過尋找鑰匙,通過鑰匙來控制門的打開關閉,類似解密;

1.創建藍圖類和模型:

創建的方法如我的上一篇文章:  鍵盤控制門    <--戳這裏

如果你看過我之前的幾篇關於開關門的文章,就很容易了,這裏我就不多說了;

其他此類文章  <--

2.處理藍圖,事件圖表


和鍵盤控制門不同的是,鍵盤控制門是當玩家靠近時按下E鍵就發生相應的事件,而鑰匙開關門是

1.玩家尋找鑰匙

2.靠近門(進入盒體觸發器區域)

3.按下E鍵

所以兩者的不同之處就是先要尋找鑰匙,不然門不會開

有編程基礎的人可能一下子就會想到可以用一個bool變量來控制,1表示可以開門,0表示不能開門,當找到鑰匙的時候就將這個bool變量置爲1,默認情況下爲0;

那我們在藍圖中實現:

1.門藍圖類:

保留之前”鍵盤控制門“的所有邏輯:

新增:

在左側找到“變量”,點擊+,添加bool變量,點擊新建的變量可以在右側修改變量類型及默認值

      

連接:

其中分支相當於是一個if,Condition是用於判斷的條件

邏輯:按下E鍵,判斷bool變量“是否開門”的值,如果爲1走True執行開門,如果爲0走False打印提示字符串

門藍圖類的總連接圖:

編譯,保存

2.鑰匙藍圖類

點擊藍圖,選擇新建空白藍圖類,選擇第一個Actor,然後保存路徑,命名,完成後就會生成在的路徑下

           

雙擊此藍圖類

點擊左上角添加組件,選擇common下的靜態網格體組件,起名爲key,點擊該組件,在右側可以添加網格體和材質

(你也可以去網上下載一個鑰匙模型,我這裏就用正方體代替了)

     

在左側再次點擊添加組件,搜索Sphere(球體觸發器),選擇Sphere Collision,點擊添加的Sphere,調整大小,意義是玩家在進入該觸發器區域內時纔可以拾取鑰匙

點擊Sphere,在右側滑倒最下面,添加事件中的開始重疊和結束重疊(進入觸發器區域和離開觸發器區域)

和開門一樣,也需要按鍵拾取,這裏假如還是E,原理和門一樣,這裏就不說了

(我在進入觸發器區域的時候加了一個測試提示可以拾取)

 

Q:剩下的邏輯就是我拾取鑰匙之後怎麼才能設置剛剛的bool變量(這是兩個毫不相干的藍圖類)

A:這時就可以用到     “獲取所有Actor的類” (右鍵搜索)

在Actor Class中找到你自己剛剛建的門的類名

Q:一個場景中可能有很多個門,那我們怎麼找到對應的門呢?

A:這裏面是用數組存的(從開始),從Out Actors引腳拖拽拉出搜索get,選擇工具->數組->get(複製)

因爲我們這裏只有這一個門,所以是0

最後一步就是拾取完鑰匙之後,鑰匙就沒了,將其銷燬

右鍵搜索“銷燬” ,選擇“銷燬組件(key)”

總連接:

 

編譯,保存

將製作好的鑰匙和門拖拽到場景中嘗試:

       

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章