2014-09-04 36 views
0

在我的遊戲中,一些狗隨機行走。假設他們從左向右移動,我需要的是當它到達遊戲世界的正確邊界時,那麼應該翻轉狗動畫,反之亦然。我知道當我們給dog.scale.x = -1可以實現翻轉。 但我不知道什麼時候應該應用,我已經設置了dog.body.collideWorldBounds = true;Phaser Js - 如何在與世界邊界碰撞後翻轉圖像?

現在我現在正在使用myGame.physics.arcade.velocityFromRotation(dog.rotation, 100, dog.body.velocity);移動狗,讓我知道,如果有任何其他選項。

JS代碼可以在這裏看到:http://jsfiddle.net/abhiklpm/rbfg0h9o/1/,並在這個環節工作演示:http://abhilashrs.com/game

回答

1

您已經幾個選項:

1)監視狗velocity.x和調整scale.x因此。因此,如果速度從負值變爲正值,您可以根據需要翻轉比例。

2)碰撞一個隱藏的物體而不是世界界限。通過這樣做,您可以利用碰撞回調並根據需要調整狗的比例。

+0

PhotonStorm您是否看到我的代碼用於移動動畫,我們有沒有比我做的更好的方法。 myGame.physics.arcade.velocityFromRotation(dog.rotation,100,dog.body.velocity); – abhiklpm 2014-09-04 22:48:25

+0

這取決於你想要做什麼。使用'velocityFromRotation'沒有什麼不對,它取決於你的遊戲。對於某些類型的遊戲,這將會很好。 – PhotonStorm 2014-09-05 02:46:13