2011-04-01 60 views
0

我目前有一個SneakyJoystick啓動並運行。它工作正常,它在屏幕上移動精靈。我已經擁有了它,所以當操縱桿度數在左邊時,它會翻轉精靈的圖像。但是我如何做到這一點,如果它向左移動然後變爲非活動狀態,精靈將不會自動翻轉回來?這真讓我感到困惑。任何幫助表示讚賞。謝謝。Cocos2d中的SneakyJoystick問題

回答

1

您的程序中必須有一個預定選擇器功能,用於在每秒(或任何間隔)後檢查遊戲杆的移動。我的意思是你要檢查遊戲杆是否朝向左側的代碼(joystick.velociy)。所以這個選擇器會被連續調用,不管你的遊戲杆是否激活。所以當你的遊戲杆向左移動時,你可以翻轉精靈,你可以設置一個布爾型標誌「isFlipped = true」。在相同的選擇器方法中,您可以檢查遊戲杆是否移動並且「isFlipped = true」,那麼您可以翻轉您的精靈並將該標誌設置爲false。

+0

好的。自從你提到它之後,我該如何設置選擇器功能的時間間隔? – ipodfreak0313 2011-04-01 22:38:29

+0

[self schedule:@selector(your_function :) interval:0.5]; ....類似的東西。間隔以秒爲單位。 – Tayyab 2011-04-01 22:43:47

+0

好的感謝您的快速回復!現在還有一件事。正如你所知道的,我正在使用一個SneakyJoystick,它會移動精靈,但它移動速度非常慢。我如何做到這一點,以便更快地移動? [Here](http://www.qcmat.com/sneakyinput-joystick-dpad-and-buttons-for-cocos2d/)是SneakyJoystick的鏈接。 – ipodfreak0313 2011-04-02 03:20:03

1

一般而言,建議將速度乘以任意數量,並將增量值傳遞給更新例程,以使事情更平穩。這將確保玩家的最終動作是確定的。我已經看到人們使用50到200之間的平均移動值。

例如, CGPoint velocity = ccpMult(moveStick.velocity,200 * delta);