如何解决如何获取SpriteKit中特定节点的数量?
我正在制作一个iOS游戏,其中涉及用大炮射击炮弹。我如何获得现场的大炮数量?这是我创建,射击和删除炮弹的功能(当玩家点击屏幕时会调用此功能):
func fireCannonBall()
{
let cannonBall = SKSpriteNode(imageNamed: "cannonBall")
cannonBall.position.x = //some x-position
cannonBall.position.y = //some y-position
cannonBall.zPosition = 1
self.addChild(cannonBall)
let moveCannonBall = SKAction.moveBy(x: cos(currentAngle) * 2400,y: sin(currentAngle) * 2400,duration: 3)
let deleteCannonBall = SKAction.removeFromParent()
let cannonSequence = SKAction.sequence([cannonSound,moveCannonBall,deleteCannonBall])
cannonBall.run(cannonSequence)
}
解决方法
您可以为每个炮弹分配一个名称,例如cannonBall.name = "cannonBall"
然后您可以使用subscript(_:)
或enumerateChildNodes(withName:using:)
方法获取场景中所有的炮弹。
这里是对Apple文档的引用:Searching the Node tree
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。