所以我有一个你控制的“球”(玩家),当玩家点击“colorOrb”时,Ball会随机变换为该颜色,这样该部分可以正常工作,但我仍然坚持如何检测玩家会变成一个随机颜色,如果一旦它穿过也是随机颜色的墙,如果它们都是相同的颜色并添加+1或任何得分,则会变为随机颜色。 我尝试了多种方法,但似乎无法弄明白。提前谢谢:)
答案 0 :(得分:1)
给定Ball
和Wall
类
class Ball: SKSpriteNode { }
class Wall: SKSpriteNode { }
在didBegin(contact:)
中,只需比较color
属性。
class GameScene: SKScene, SKPhysicsContactDelegate {
func didBegin(_ contact: SKPhysicsContact) {
let nodeA = contact.bodyA.node
let nodeB = contact.bodyB.node
guard let nodes: (ball:Ball, wall:Wall) = (nodeA, nodeB) as? (Ball, Wall) ?? (nodeB, nodeA) as? (Ball, Wall) else { return }
if nodes.ball.color == nodes.wall.color {
// same color
// TODO...
}
}
}