在我的游戏中,有一个SKSpriteNode,我们称之为" gate,"在场景中向上移动。当门到达屏幕顶部时,它会向下移动到底部并再次向上行进。
玩家失败的方式是,位于场景顶部的恒定y位置的角色与门碰撞。我有碰撞和死亡'一切顺利,但现在我需要检查角色是否成功通过'通过'大门(意思是大门移过角色而没有击中他)。 基本上,我需要知道如何检查一个移动节点何时越过某个y位置(在这种情况下,该位置是角色的y位置)。如果发生这种情况,我想将分数提高一个。
以下是情况的草图: (click here for the rough sketch)
我尝试过的一件事是在更新方法中,如果门的y位置等于角色的y位置,我知道两个节点已经交叉,所以我应该增加分数。它看起来像这样:
override func update(currentTime: CFTimeInterval) {
if gate.position.y == character.position.y {
print("score")
score++
}
}
但似乎不起作用。还有其他方法可以检查大门何时越过角色的位置?
谢谢!
答案 0 :(得分:0)
可能发生的是y坐标不一样。例如,如果> y<-Matrix(c(1,2,1,2),2,2)
> sin(y)
2 x 2 Matrix of class "dgeMatrix"
[,1] [,2]
[1,] 0.8414710 0.8414710
[2,] 0.9092974 0.9092974
> sin(y)
Error in match(x, table, nomatch = 0L) : object '.Generic' not found
和gate.position.y = 100
,它将无效。试试这个:
character. position.y = 101
您可以调整数字10以查看最佳效果。希望这有帮助