0
我一直在尝试跟随快速教程,我遇到了一些令我非常沮丧的事情,每次使用SKAction的教程都伴随着我尝试遵循,因为我无法跟随任何教程,因为我的程序无法工作。这已经发生在MULTIPLE程序中,我无法想象它。Swift:SKAction不能在触摸上工作
下面是程序代码:
import SpriteKit
import GameplayKit
class GameScene: SKScene{
let player = SKSpriteNode(imageNamed: "playerShip")
override func didMove(to view: SKView) {
let background = SKSpriteNode(imageNamed: "background")
background.size = self.size
background.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
background.zPosition = -1
self.addChild(background)
player.setScale(1)
player.position = CGPoint(x: self.size.width/2, y: self.size.height * 0.2)
player.zPosition = 2
self.addChild(player)
}
func fireBullet(){
let bullet = SKSpriteNode(imageNamed: "bullet")
bullet.setScale(1)
bullet.zPosition = 1
bullet.position = player.position
let moveBullet = SKAction.moveTo(y: self.size.height + bullet.size.height, duration: 1)
let deleteBullet = SKAction.removeFromParent()
let bulletSequence = SKAction.sequence([moveBullet, deleteBullet])
bullet.run(bulletSequence)
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
fireBullet()
}
}
每当我构建并运行在模拟器中的一切程序是罚款和生成成功。然而,无论什么时候我点击什么都不会发生,每当我尝试用SKAction做任何事时都会发生这种情况。我应该提到,每次点击屏幕右下角的FPS都会发生变化,但没有其他事情发生,节点数保持不变,并且屏幕保持不变,而且子弹不熄灭。
这里是我试图与沿着沿教程:https://www.youtube.com/watch?v=mvlwZs2ehLU
我复制粘贴的代码,并再次没有错误,但就像之前唯一改变的是fps。节点计数器不增加,并且不出现子弹。 –
@Richard Parker我刚刚意识到你需要在现场添加子弹 – Pierce
@RichardParker - 看到我的更新让我知道,如果这有帮助 – Pierce