Ich versuche, 2d - Top-Down-Spiel zu bauen, und ich habe Spieler (Skspritenode) und ich möchte ihn bewegen, wenn ich den Daumen drücken. Ich benutze diesen Code:Moving skspritenode mit Game Controller (ThumbStick) Swift
Gamepad seine GCExtendedGamepad
if gamepad.leftThumbstick.xAxis.value > 0.1 || gamepad.leftThumbstick.xAxis.value < -0.1 || gamepad.leftThumbstick.yAxis.value > 0.1 || gamepad.leftThumbstick.yAxis.value < -0.1
{
self.player.moveAndRotate(gamepad.leftThumbstick.xAxis.value, yValue: gamepad.leftThumbstick.yAxis.value)
}
moveAndRotate - Funktion
func moveAndRotate(xValue: Float, yValue: Float)
{
zRotation = CGFloat(-atan2(xValue, yValue))
physicsBody!.velocity = CGVectorMake(0, 0)
physicsBody!.applyImpulse(CGVectorMake(CGFloat(xValue) * moveSpeed, CGFloat(yValue) * moveSpeed))
}
Aber, wenn der Spieler bewegt sich durch diagonale, seine Geschwindigkeit schneller als die normale Geschwindigkeit. Kann mir jemand helfen?
Vielen Dank für diese Information! Aber, ich frage, wie man meinen Spieler mit der gleichen Geschwindigkeit bewegt :) – DonMugad
überprüfen Sie meine Bearbeitungen –
Vielen Dank! – DonMugad