0
我正在尝试创建类似于涂鸦跳跃的练习。实现游戏对象的特定跳跃行为
对于那些不了解比赛的人;你有一个玩家在砖块上跳跃,这些砖块位于随机的地方,如果他们在他的上方,那么他们就不会与它们发生碰撞,并且只要他们落在他们身上就会跳跃。
我有麻烦实现原始涂鸦跳线的跳跃行为,下面解释。
我已经为玩家和砖块设置了碰撞位掩码为none。每当玩家登陆砖块(当'didBeginContact'被触发时,玩家在砖块上方),我对玩家施加冲动,但是因为碰撞被检测到不止一次,冲动真的非常大,玩家跳跃真的很高(我希望他的速度有限)。
我想这(当检测到碰撞时,这个函数被调用):
func playerCollidedWithBrick(brick: Brick) {
if player.position.y > brick.position.y && brick.physicsBody?.velocity.dy <= 0 {
//the player is above the brick and is falling
player.physicsBody?.applyImpulse(CGVectorMake(0, 20))
}
}
但随后玩家不会比他跳下第一跳一个其他的砖 - 不是我想要的。
我希望他跳起任何他登陆的砖块,但速度有限。我也喜欢对他施加冲动的效果 - 当他着陆在砖上时有点像春天的效果。
我怎么能做到这一点?任何想法或建议表示赞赏。
因为玩家应该再次跳过那块砖以防他没有着陆任何其他砖 – Larisa
我添加了一行可以在1秒后重置砖的线使它有可能再次登陆 –