2011-10-28 95 views
1

我正在嘗試製作一個小型射手遊戲,並且我遇到的問題必須與2個像素特別關聯,我會將它們稱爲_arm和_arrow。當一個真正的弓箭手拉回箭頭時,他不會立即將箭頭拉回,只要他的力量允許,箭頭需要一點時間才能拉回來。 _arm的角度等於從某點到用戶在屏幕上觸摸的矢量。旋轉是完美的,所以_arm是好的。 _arrow需要和_arrow在同一行上,它們各佔一個像素,因此它看起來好像_arrow恰好位於_arm的頂部。正確旋轉,改變x/y座標

我試着從基於隨時間變化的變量的x/y座標遞減,並將_arrow的位置設置爲等於_arm的位置,並試圖使其看起來像_arrow被拉回。然而,如果你旋轉了,x/y會因爲x軸和y軸不成比例而混亂,所以基本上_arrow要麼略高於臂,要麼略低於它,這取決於向量的角度,基於觸摸。

我怎麼可以使用_arm的x/y位置和觸摸的向量來使箭頭看起來好像被拉回了一小部分,但是仍然保持箭頭位於_arm sprite的頂部,這樣它就是位置會類似於手臂,但是在任何時候都會略微偏離_arm像素頂部。如果您需要更多信息,請發表評論。

+0

我是否正確理解您正試圖推斷由兩點定義的線? – Dabbler

+0

編號Sprites的位置基於圖像的中心。因此,如果兩者都是20px長/ 1px寬,並且我設置了arrow.position = arm.position,那麼它們完全在彼此之上。我想要一種基於手臂精靈的角度來找到x/y點的方法,比如像45度角,它可能是0.75像素down.x和0.75像素down.y,我會設置箭頭的在這一點上的位置和減少,使其看起來像它正在繪製。 – Gabe

回答

0

我不知道我完全理解,但我會在回答反正一展身手:

要使箭頭移動和旋轉到相同的地方考慮將箭頭作爲一個孩子的手臂。如果你喜歡,通過使其z小於1,你仍然可以渲染它:[arm addChild:arrow z:-1]

然後當箭頭被繪製時使箭頭從手臂移開,然後您只需設置箭頭的位置到手臂。

然而,我用這個解決方案看到的問題是,箭頭離開弓後,這個精靈的分組可能有點不尋常。在這裏,你可能不希望箭頭成爲手臂的孩子,因爲座標系不再相關。

即使他們相信我「建議會得到解決[的]問題」這裏有什麼

海報的解決方案

我得x和y COORDS基於角度的手臂,然後我得到了一個數字的正弦/餘弦,這個數字是基於與手臂相同的角度並從中減去的。

+0

你沒有得到我說的話:)經過一些試驗和錯誤後,我想出了自己的想法。我不得不根據角度得到手臂的x和y座標,然後我得到了一個數字的正弦/餘弦,這個數字是基於與手臂相同的角度並從中減去的。 – Gabe

+0

是的,我不確定我是否正確地閱讀了這個問題。我會刪除我的答案,但是您應該發佈答案並將其標記爲未來用戶的正確答案。 –

+0

發表您在這裏留下的評論作爲回答。 =] –