1
내가 가지고있는 것 : 노드는 현재 x 축에서 직선으로 만 이동합니다. 내가 달성하기 위해 찾고 있어요 무엇SKSpriteNode를 아래쪽으로 내리는 방법
let actionBomb = SKAction.repeatForever(SKAction.moveTo(x: 495, duration: 3.0))
: 목표는 지상을 타격 할 때까지 하향 곡선에있는 노드 여행을하는 것입니다. 나는 이것을 달성하는 방법에 대해 잘 모르겠습니다. 여기
내 현재 코드입니다 :func bombAction(){
if(self.action(forKey: "spawnBomb") != nil){return}
let bombTimer = SKAction.wait(forDuration: 5, withRange: 8)
let spawnbombA = SKAction.run {
self.bomb = SKSpriteNode(imageNamed: "bomb1")
self.bomb.zPosition = 1
self.bomb.physicsBody = SKPhysicsBody(circleOfRadius: self.bomb.size.height/10.0)
self.bomb.physicsBody?.isDynamic = true
self.bomb.physicsBody?.allowsRotation = false
self.bomb.physicsBody?.affectedByGravity = true
var bombPosition = Array<CGPoint>()
bombPosition.append((CGPoint(x:400, y:475)))
bombPosition.append((CGPoint(x:500, y:475)))
bombPosition.append((CGPoint(x:750, y:475)))
let shuffledLocations = GKRandomSource.sharedRandom().arrayByShufflingObjects(in: bombPosition) as! [CGPoint]
self.bomb.position = shuffledLocations[0]
let spawnLocationBomb = bombPosition[Int(arc4random_uniform(UInt32(bombPosition.count)))]
let actionBomb = SKAction.repeatForever(SKAction.moveTo(x: 495, duration: 3.0))
self.bomb.run(actionBomb)
self.bomb.position = spawnLocationBomb
self.addChild(self.bomb)
print(spawnLocationBomb)
}
let sequenceBomb = SKAction.sequence([bombTimer, spawnbombA])
self.run(SKAction.repeatForever(sequenceBomb), withKey: "spawnBomb")
}
액션에 대한 비중을 설정하는 것을 잊지 마십시오 SKAction.moveTo 폭탄을 이동, 중력에 의해 영향을하지 않습니다 대신에 충격을 가해 야합니다. [this] (https://developer.apple.com/reference/spritekit/skphysicsbody/1519900-applyimpulse)를 확인하십시오. –