位置に停止することはありませんスウィフト4:SKSpriteNodeは、ユーザが画面をタップすると、タンク火災は、それは大丈夫です、私は弾丸とタンクを持っている。ここ
が、弾丸がタンクから出てきたときに、それを画面上に行くと、それはタッチ位置に
を停止することはありませんここに私のコードです:
for touch in touches {
let location = touch.location(in: self)
let bullet = SKSpriteNode(imageNamed: "bullet4")
bullet.position = CGPoint(x: self.MainTank.position.x, y: self.MainTank.position.y + 10)
bullet.size = CGSize(width: 12, height: 20)
bullet.physicsBody = SKPhysicsBody(circleOfRadius: bullet.size.width/2)
bullet.physicsBody?.affectedByGravity = false
bullet.physicsBody?.isDynamic = true // false stops the bullet on the tank
bullet.physicsBody?.allowsRotation = false
self.addChild(bullet)
var dx = CGFloat(location.x)
var dy = CGFloat(location.y)
let magnitude = sqrt(dx * dx + dy * dy)
dx /= magnitude
dy /= magnitude
let vector = CGVector(dx: 5.0 * dx, dy: 5.0 * dy)
bullet.physicsBody?.applyImpulse(vector)
}
私がtrueにisDynamic
を設定しようとしましたが、これは、タンクの位置
ありがとう
なぜ弾丸を移動するために 'SKAction.moveTo(x:、y:)'を使用しないのですか? – junxi