2012-10-16 48 views
0

我正在嘗試使用cocos2d構建遊戲,其中用戶能夠沿着路徑將對象拖到最終目標。我已經完成拖放工作,但我不知道如何實現路徑,以便在用戶離開路徑時停下來。Cocos2d - 拖動圖像時遵循路徑

任何想法如何實現這個,使我可以有多個層次?

回答

0

從我對你的問題的理解中,你根本不想做拖放操作。 取而代之的是沿着路徑移動一個動作,並使用用戶的觸摸來設置它們的動作距離。這樣(就像你會用視頻向後和向前擦去)用戶可以沿着它的路徑擦洗對象的動作。

我首先會使用CCBezierTo或其他任何方式讓你的對象沿着你想要的路徑移動。當你對結果感到滿意時,開始觸摸操作。 當用戶觸摸到對象時,您想知道它們在哪裏0是開始和1結束。然後將該數字移近1,越接近觸摸移動的終點,越接近0越接近起點。 如果你的路徑非常直線,你可能只需簡單地計算觸點在起點和終點之間的直線上。如果一個複雜的曲線說出來,你會有一些辛苦的工作/三角要做!

然後隨着觸摸移動,您需要將對象的位置更新到路徑上的新位置。假設你已經制定了觸摸現在在你的路徑.75你現在需要鍛鍊的對象應該在0.75 *持續時間的位置。您可能需要爲您的動作擴展或添加一個類別,以允許您設置給定流逝值的位置。

希望這可以引導您朝着可能的方向發展!