SpriteKit中的“攻击”按钮

SpriteKit中的“攻击”按钮,第1张

SpriteKit中的“攻击”按钮

您的问题的前半部分非常简单。您只需要在该功能中设置播放器的新纹理,然后在完成动画后将其还原为原始播放器动画。因此,我建议在类级别上创建这两个动画,并将键分配给默认动画,并使用攻击动作的完成处理程序将其设置回去。

class GameScene: SKScene {    let frame2 = SKTexture(imageNamed: "Ttam2")    let frame3 = SKTexture(imageNamed: "Ttam3")    let frame4 = SKTexture(imageNamed: "Ttam4")    let attackframe1 = SKTexture(imageNamed: "Ttam1_ATTACK")    let attackframe2 = SKTexture(imageNamed: "Ttam2_ATTACK")    var animation: SKAction!    var attackAnination: SKAction!    override func sceneDidLoad(){       animation = SKAction.repeatForever(SKAction.animate(with: [playerTexture, frame2, frame3, frame4], timePerframe: 0.2))       attackAnimation = SKAction.animate(with: [attackframe1,attackframe2],timePerframe: 0.2)       playerNode.run(animation,withKey:"animate")    }    func handleAttackButtonClick(){        playerNode.removeAction(forKey:"animate")        playerNode.run(attackAnimation,completion:{  self.playerNode.run(animation,withKey: "animate")        })    }}

至于关于碰撞的后半部分,您想要使用

contactTestBitmask
。您可以将SKPhysicsContactDelegate添加到场景类,并设置要在其上注册联系人的节点的位掩码。整个SO中都有许多关于此方面的问题和答案。我认为无需再次回答。如果您挂了一个新问题,请随时回来。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5620078.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存