如何在spritekit中拍摄?

时间:2016-04-26 19:08:12

标签: ios swift skspritenode

我创建了一个名为attackButton的方法。在这个功能里面,我这样写是为了开枪。下面的hero是我想要一个镜头出生的节点。

func attackButton() {

    shot.physicsBody = SKPhysicsBody(edgeLoopFromRect: shot.frame)
    shot.position = CGPointMake(hero.position.x, hero.position.y)
    shot.physicsBody?.categoryBitMask = shootingCategory
    shot.physicsBody?.contactTestBitMask = enemyCategory
    addChild(shot)

    let run = SKAction.moveByX(2, y: 0, duration: 1)
    shot.runAction(run)
}

镜头节点显示在场景中,但节点从不移动,按两次按钮后,会发生错误。我想这是因为缺少removeFromSuperview()removeFromParent的代码,尽管我对此不确定。那么,为什么节点不向x方向移动?我应该在update(currentTime: CFTimeInterval)方法中写这个吗?虽然对我来说这听起来有点太技术性了。通过在attackButton中编写touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?)来检测此for touch in touches { let location = touch.locationInNode(self) let node = self.nodeAtPoint(location) if node.name == "attackButton" { attackButton() } } ,方法是指定节点的名称,如下所示:

update(currentTime: CFTimeInterval)

如果我在attackButton中编写此函数,该方法是如何触发的?我无法理解,因为该方法不知道我是否按attackButton,因为此float: right !important是一个节点,并且必须指定节点的名称,对吧?也许我所说的没有意义,但是如果你了解我,我会感激,你能给我一些能够开枪的代码吗?谢谢!

0 个答案:

没有答案