2011年11月21日 星期一

門鎖的製作




這篇主要教人如何做一個可以上鎖的門
門鎖的觸動是由人物按下使用鍵(E)來上鎖與解鎖
前提是先會做出一扇可以活動的門,前面已經有發過門的相關設定的文章了
門鎖可以使用材質方塊配合選定材質,做成密碼鎖或手把的造型
最好可以把"鎖"做得跟"門"是同樣風格的,才不致太突兀

首先,製作出一個可以活動的門,並命名(name)
(門的命名是最重要的步驟,沒這個步驟以下都免談了)
接著使用材質方塊製作一個"門鎖" 形狀 
將門鎖放在適合的位置,如門的手把位置或門邊的牆上
並綁定實體 func_button

在實體的Outputs(輸出)裡,add(增添)下列內容

一、
my output(觸動):OnIn  (壓下按鈕時觸發)
Target Entity(目標實體):(這裡輸入"門"實體的name)
Target input (對目標輸入): FireUser1 (發送"user1")

二、
my output:OnOut  (按鈕)
Target Entity(目標實體): (這裡輸入"門"實體的name)
Target input (對目標輸入): FireUser2 (發送"user2")


接下來開啟"門"實體,設定"門"的Outputs
一、
my output:OnUser1 (接收"user1")
Target Entity: (這裡輸入"門"實體的name)
Target input:Lock (門鎖住的指令)
二、
my output:OnUser2 (接收"user2")
Target Entity: (這裡輸入"門"實體的name)
Target input:Unlock (門解鎖的指令)

完成以上設定後,當玩家在門鎖前按下(E)鍵後
門鎖會發送"user1"給門,同時門會觸發"上鎖"的動作
解鎖也是類似的方式運作,CSS遊戲中的門鎖就是用這種方式設定的

以上設定時都要指定門的"name"
也就是一開始為門的"命名"


如果門鎖再按(E)鍵後有跑位的情形出現,
要消除這種狀況的話,
開啟門鎖的實體,在flags欄位中
勾選don't move (門鎖不移動)
觸發時,門鎖會處在固定位置

沒有留言:

張貼留言