我試圖使用UIGestureRecognizers能夠在SpriteKit場景內移動一個sprite。到目前爲止,它移動得很好,但只要我把手指從屏幕上移開,它就會停下來。我現在想做的事情是將手勢結尾轉換爲精靈的輕彈式運動,這樣它就繼續朝着我根據該運動以一定程度的力量移動手指的方向。使用UIPanGestureRecognizer輕彈SpriteKit sprite
以下是我目前爲止似乎適用於水平移動但仍在Y軸上以錯誤方向發送精靈的內容。
if (recognizer.state == UIGestureRecognizerStateEnded) {
CGPoint velocity = [recognizer velocityInView:self.view];
velocity = [self convertPointFromView:velocity];
[touchedNode.physicsBody applyForce:CGVectorMake(velocity.x, velocity.y)];
}
更新 - 更多關於當我滑動當前會發生什麼。平移和釋放所產生的效果會導致精靈以正確的方向行進,但會向下添加角度。向下滑動會導致行程向上移動,向上滑動會導致行程向下移動。
更新2 - 這可能是這個代碼太簡單了,我想要實現,我應該計算精靈在應用力之前應該移動多遠,以便我可以根據它的運動給它一個特定的速度矢量?
它是如顛倒y方向一樣簡單嗎? 'velocity.y * -1' –
這反轉了我看到的效果。 –
是不是正確的? –