gpt4 book ai didi

swift - 试图添加一个已经有父 swift 的 SKNode

转载 作者:行者123 更新时间:2023-11-28 08:38:48 26 4
gpt4 key购买 nike

我正在创建一个游戏,但我的与操纵杆相关联的子弹生成方法一直出现此错误。我想在操纵杆处于事件状态时重复生成节点这是我创建触发方法的方式

override func didMoveToView(view: SKView) {

if fireWeapon == true {

NSTimer.scheduledTimerWithTimeInterval(0.25, target: self,
selector: Selector ("spawnBullet1"), userInfo: nil, repeats: true)
}
}
func spawnBullet1(){

self.addChild(bullet1)

bullet1.position = CGPoint (x: hero.position.x , y:hero.position.y)
bullet1.xScale = 0.5
bullet1.yScale = 0.5
bullet1.physicsBody = SKPhysicsBody(rectangleOfSize: bullet1.size)
bullet1.physicsBody?.categoryBitMask = PhysicsCategory.bullet1
bullet1.physicsBody?.contactTestBitMask = PhysicsCategory.enemy1
bullet1.physicsBody?.affectedByGravity = false
bullet1.physicsBody?.dynamic = false
}
override func touchesBegan(touches: Set<UITouch>, withEvent
event:UIEvent?) {

for touch in touches {
let location = touch.locationInNode(self)

let node = nodeAtPoint(location)
if (CGRectContainsPoint(joystick.frame, location)) {
stickActive = true

if stickActive == true {

fireWeapon = true
}

第一个项目符号按计划启动并且运行良好,但是每次第二个项目符号启动时应用程序崩溃并且我收到错误。有人能告诉我另一种产生射速的方法吗

最佳答案

代替 self.addChild(bullet1) 你需要像 self.addChild(SKSpriteNode(imageNamed: "bullet.png"))

这是因为每次发射都需要创建一颗新子弹,您不想每次都移动相同的子弹。

关于swift - 试图添加一个已经有父 swift 的 SKNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36902580/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com