objective-c – SpriteKit动态Body如何通过StaticBody进行隧道传
发布时间:2020-12-16 07:13:11 所属栏目:百科 来源:网络整理
导读:嗨,我在SpriteKit游戏中得到了一个奇怪的效果. 我的屏幕周围有一堵墙, 我使用bodyWithEdgeLoopF??romRect创建了staticbody. 通过做skView.showsPhysics = YES;所有的身体也显示在屏幕上. 我在屏幕上有一个球.哪个有动态的身体. 有时当我确实提供力量球时,它
嗨,我在SpriteKit游戏中得到了一个奇怪的效果.
我的屏幕周围有一堵墙, 通过做skView.showsPhysics = YES;所有的身体也显示在屏幕上. 我在屏幕上有一个球.哪个有动态的身体. 这怎么可能?? 虽然我可以在屏幕上看到两个身体,但动态球有时会穿过静止墙. 我还给出了usesPreciseCollisionDetection = YES;两个物理机构的财产. 我该如何防止这个问题? 解决方法
当物体的速度非常高时会发生这种情况.例如,如果您的球对象每帧以X 300的速度行进,那么它很可能无法检测到“墙”并移过它.
如果速度太高,将usesPreciseCollisionDetection设置为YES将无法解决此问题. 您应该对物体的速度应用速度限制.像这样的东西: if(self.physicsBody.velocity.dx > 100) self.physicsBody.velocity = CGVectorMake(100,self.physicsBody.velocity.dy); 以上限制了物体向右移动到100,同时保持dy(向上和向下)速度. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |