201308091459GameSalad教學 - RunRunRunning - 2

延續先前的教學,接下來讓我們繼續RunRunRunning的工作。

還記得先前我們產生的遊戲畫面,主角會不停地跳躍,且會不自然地旋轉,再說~甚至沒辦法跳躍。

針對上述的問題,讓我們一一解答:

1.不停跳躍,主要原因是:因為元件可以設定碰撞後反彈系數,所以該把牆壁跟主角的反彈系數都調整成0。

2.一直旋轉,這個問題只要把「是否能夠旋轉」的數值調整掉,就可以維持不轉動了。

3.無法跳躍,這是因為沒有放置跳躍的按鈕,當然無法跳躍。

 

那麼,就讓我們接下去處理吧。

 

1.修改反彈系數,先點選元件「主角」兩下,進入後,將「Physics」中的「Fixed Rotation」改成true即可。

「地板」的部分也是一樣。


 

2.修改「反彈力道」,將「Physics」中的「Bounciness」改成0,意思代表反彈力道為0倍(可以設定0~2倍)。

「地板」的部分也是一樣。

 


 

3.想要跳起來?那就要作底下幾件事情:

a.設計一個按鈕,按下去後會發出「triggerJump」的訊號。

b.主角這個元件發現「triggerJump」這個訊號後,會對自己產生一個向上的力道。

  (不過要與地板接觸的狀況,才有力道往上跳)

c.最後將這個triggerJump刪除,回歸平靜。

 

我們就從a開始吧。

 


3.a 先到Initial Scene中,點選標籤「Game」>「Attributes」,按下方「+」,新增一個變數。

類別選boolean。

 

取名叫做「triggerJump」。

 

新增一個元件「按鈕_跳」,於該元件中拉一個Rule行為,且設定「Actor recevies event(當接收到...)」>「touch」為pressed時,且新增一個「Change Attribute」,將「triggerJump」改為true。

最後,記得將該物件的「Moveable」設定為false,否則會跟其他物件一樣往下掉啊!

 


 

3.b 進入「主角」元件的設計面,拖曳一個Rule(規則),設定「Attrubute(當變數)」>「Game->triggerJump」為true時,觸發事件:

 

接著要產生一個向上的力道,所以再拖曳一個「Change Attribute(修改變數)」,設定Self(主角)>Motion(動態)>Linear(線性) >Velocity(加速度)>Y(Y軸方向),設定成300。

 

最後將「triggerJump」設為false。 


 

然後,將你新增的物件放到畫面上,變成這個樣子:


 

 這樣就算是告了一段落了。

 

來看看試玩影片:

 


最後,會有人問:怎麼可以一直往上跳?

沒錯,應該是要碰到地板的狀況下,才可以跳,對吧?

此時,只需要在「主角」這個物件內的「Change Attribute」外包一個「Rule」,設定當「Actor receives event」>「overlaps or collect(覆蓋,或者是觸碰到了)」>「地板」時,才會進行修改往上跳的力道。

這樣一來,不管你怎麼按跳,如果不在地板上,就是跳不了第二下囉。

 

請看:

 

以上,就是本日的GameSalad講座,感謝收看:)

回應
關鍵字
[此功能已終止服務]
    沒有新回應!





Powered by Xuite