“如何讓一個角色跟著另一個角色”這個問題
我想了很久。得出的第一個結論是“
延遲執行動作
”
。所以初期的想法是,
在按下方向按鍵時,第二個角色延遲執行。
初期的指令碼如上面的兩個圖,
設定了全域性變數
delay
調整延遲時間,
區域性變
量
t
的預期作用是在克隆之後加
1
,以增加延遲時間(其實,還沒有確定克隆之
後
是初始值還是當前值,後來試過才知道是當前值的)
。
蛇身的指令碼中,
在按下方向鍵後,
延遲了一會兒。
在只有這兩個角色的時候,
跟隨的效果還是不錯的。
但是問題多多,
比如無法適應快速的操作,
特別是後來
增加了克隆模組後,
常常會有部分蛇身,
提前或者延遲了拐彎時間,
以至於蛇身
支離破碎。
第二個想法是,跟隨就是“
面向主體移動
。直接使用“動作”中“面向
這一模組,
免去延遲,
讓蛇身與蛇頭保持同樣的速度,
只在蛇身太接近蛇頭的時
候,讓蛇身放慢速度再次拉開距離(拐彎時會縮短距離)
蛇頭
蛇身
食物
同樣有區域性變數
在克隆之後加
,不過原來的全域性變數
延時,在
這裡變成了全域性變數
d
距離。
因為無法透過
“面向
這一模組跟著前一個蛇身,
所以只能是所有蛇身都跟著蛇頭,只是距離不同。
其實,我是蠻喜歡這個效果的,在轉彎的時候,蛇身弧線跟著蛇頭,看起來
自然一點。但是,同樣也有問題:在蛇身增加時,蛇頭直線運動時,後面的蛇身
都是歪著平移的,整體看起來像是在水上漂,而不是爬;另外,可以想象當蛇身
數量增加到一定的時候,最後一截蛇身到蛇頭的距離超過了舞臺的寬度一半時,
就會出現各種重疊。如果能讓後一段蛇身跟著前一段的蛇身就好了,哎
~
第三個想法,跟隨是“
再一次走過前任走過的路
。這樣的情況下,首先要
做的就是記錄前任走了哪些路。
直線的路,
沒什麼好記錄的,
重點記錄的是在哪
裡拐彎,
拐向了哪邊。
於是這裡就用到了連結串列。
要儲存的資料有拐彎時的
X
座標、
Y
座標及方向,所以用了三個連結串列。蛇頭在拐彎時寫入連結串列,最後一截蛇身(蛇
(相當於是蛇身的編號)
,及全域性變數
tail
(每多一截蛇身就加
)來判斷是否是蛇尾。
同時為了方便控制,
增加了一個
flag
變數,
這樣就可以只用空格鍵來控制遊
戲的開始和結束。
在這裡嘗試了使用新建模組的功能,新建了一個模組用來儲存拐彎點的
、
座標及方向。
下載文件到電腦,查詢使用更方便
1下載券 656人已下載
下載
還剩6頁未讀,繼續閱讀
“如何讓一個角色跟著另一個角色”這個問題
我想了很久。得出的第一個結論是“
延遲執行動作
”
。所以初期的想法是,
在按下方向按鍵時,第二個角色延遲執行。
初期的指令碼如上面的兩個圖,
設定了全域性變數
delay
調整延遲時間,
區域性變
量
t
的預期作用是在克隆之後加
1
,以增加延遲時間(其實,還沒有確定克隆之
後
t
是初始值還是當前值,後來試過才知道是當前值的)
。
蛇身的指令碼中,
在按下方向鍵後,
延遲了一會兒。
在只有這兩個角色的時候,
跟隨的效果還是不錯的。
但是問題多多,
比如無法適應快速的操作,
特別是後來
增加了克隆模組後,
常常會有部分蛇身,
提前或者延遲了拐彎時間,
以至於蛇身
支離破碎。
第二個想法是,跟隨就是“
面向主體移動
”
。直接使用“動作”中“面向
”
這一模組,
免去延遲,
讓蛇身與蛇頭保持同樣的速度,
只在蛇身太接近蛇頭的時
候,讓蛇身放慢速度再次拉開距離(拐彎時會縮短距離)
。
蛇頭
蛇身
食物
同樣有區域性變數
t
在克隆之後加
1
,不過原來的全域性變數
delay
延時,在
這裡變成了全域性變數
d
距離。
因為無法透過
“面向
”
這一模組跟著前一個蛇身,
所以只能是所有蛇身都跟著蛇頭,只是距離不同。
其實,我是蠻喜歡這個效果的,在轉彎的時候,蛇身弧線跟著蛇頭,看起來
自然一點。但是,同樣也有問題:在蛇身增加時,蛇頭直線運動時,後面的蛇身
都是歪著平移的,整體看起來像是在水上漂,而不是爬;另外,可以想象當蛇身
數量增加到一定的時候,最後一截蛇身到蛇頭的距離超過了舞臺的寬度一半時,
就會出現各種重疊。如果能讓後一段蛇身跟著前一段的蛇身就好了,哎
~
第三個想法,跟隨是“
再一次走過前任走過的路
”
。這樣的情況下,首先要
做的就是記錄前任走了哪些路。
直線的路,
沒什麼好記錄的,
重點記錄的是在哪
裡拐彎,
拐向了哪邊。
於是這裡就用到了連結串列。
要儲存的資料有拐彎時的
X
座標、
Y
座標及方向,所以用了三個連結串列。蛇頭在拐彎時寫入連結串列,最後一截蛇身(蛇
t
(相當於是蛇身的編號)
,及全域性變數
tail
(每多一截蛇身就加
1
)來判斷是否是蛇尾。
同時為了方便控制,
增加了一個
flag
變數,
這樣就可以只用空格鍵來控制遊
戲的開始和結束。
蛇頭
在這裡嘗試了使用新建模組的功能,新建了一個模組用來儲存拐彎點的
X
、
Y
座標及方向。
下載文件到電腦,查詢使用更方便
1下載券 656人已下載
下載
還剩6頁未讀,繼續閱讀