結果私は達成するために探して:私はスポークを持つ自転車の輪であるノードを持っています。ユーザーが画面をテープで録音すると、ホイールがバウンスするだけでなく、タップごとに回転するようにしたいと思います。ユーザーが画面をタップしたときにSpriteノードを回転させる方法は?スウィフト3
私が今行っていること:ノードは、ユーザーが画面をタップしたときに、まさにそれを跳ね返します。しかし、それは回転しません。
私はまだ素早く学んでいますので、助けや助言をいただければ幸いです。
コード:
wheelNode = SKSpriteNode(imageNamed: "wheel")
wheelNode.zPosition = 1
wheelNode.position = CGPoint(x: self.frame.midX, y: self.frame.midY)
wheelNode.physicsBody = SKPhysicsBody(circleOfRadius: wheelNode.size.width/0.70)
wheelNode.physicsBody?.isDynamic = true
wheelNode.physicsBody?.allowsRotation = true
self.addChild(wheelNode)
override func touchesBegan(_ _touches: Set<UITouch> , with event: UIEvent?) {
if gameOver == false {
self.wheelNode.physicsBody?.velocity = CGVector(dx: 0, dy: 0)
self.wheelNode.physicsBody?.applyImpulse(CGVector(dx: 5, dy: 25))
}
}
'SKAction.rotate(byAngle:CGFloat、duration:TimeInterval)'のようなsomehingを試してみてください。どのくらいの角度を回転させたいのかを設定することができます。角度をつけて回転させる角度を設定することができます。 – DevX10
はそれを実行するために使用します: 'run(SKAction.rotate(byAngle:CGFloat、duration:TimeInterval))' – DevX10
こんにちは@Ergo、ありがとうあなたの応答のために!私はSKActionがtouchesBegan関数の外に行くと仮定しますか?ありがとうございました。 –