Вопрос о встроенной функции с именем SKAction.moveTo - PullRequest
0 голосов
/ 26 апреля 2019
let moveShipOnTheScreenAction = SKAction.moveTo(y: self.size.height*0.2, duration: 0.5)

Приведенная выше строка странная, когда я тестирую ее на iPad.Он идет вперед, а затем просто возвращается в исходное положение.

let startPoint = CGPoint(x: player.position.x, y: self.size.height * 1.2)

Но у меня нет этой проблемы, когда я тестирую его на всех других iPhone.Там он просто переходит от startpoint к moveShipOnTheScreenAction.

Я уже пытался не включать moveShipOnTheScreenAction и просто установить startPoint так же, как положение, где moveShipOnTheScreenAction всегда заканчивается, иэто не странно.

Может быть, значения моего игрока не на своем месте.

player.setScale(delta + 0.1)
player.position = CGPoint(x: self.size.width/2, y: 0 - player.size.height)
player.zPosition = 2
player.physicsBody = SKPhysicsBody(rectangleOf: player.size)
player.physicsBody!.affectedByGravity = false
player.physicsBody!.categoryBitMask = PhysicsCategories.Player
player.physicsBody!.collisionBitMask = PhysicsCategories.None
player.physicsBody!.contactTestBitMask = PhysicsCategories.Enemy
pointOfTouch = CGPoint(x: player.position.x, y: player.position.y)
self.addChild(player)

1 Ответ

0 голосов
/ 26 апреля 2019

Я не решил проблему, но обошел ее, изменив положение по умолчанию и дал игроку альфа-значение 0, а также до начала игры я изменил позицию обратно на исходную и также дал игроку альфа-значение 1.

...