Jim*_*Jim 17 xcode ios sprite-kit
我搜索了这个,我认为必须有一些参数来解决这个问题,但我还没有找到它.
我在SpriteKit中有一个场景,我希望一些圆/球能够反弹并保持它们无限期的任何速度.它们应该从场景的边缘反弹.
如果它们移动速度足够快,或者以相当尖锐的角度击中,这是有效的,但是如果它们变慢并且接近边缘的平面,它们会继续移动(这很好)但是它们"坚持"到边缘.这种坚持是我不想要的.即使走得很慢,它们也应该反弹.
为了设置边缘,我使用了:
SKPhysicsBody *borderBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];
self.physicsBody = borderBody;
self.physicsBody.friction = 0.0;
self.physicsBody.restitution = 1.0;
self.physicsBody.linerDamping = 0.0;
self.physicsBody.angularDamping = 0.0;
self.physicsBody.affectedByGravity = NO;
Run Code Online (Sandbox Code Playgroud)
在圆形节点上,我有类似的设置,如:
ball.usesPresciseCollisionDetection = YES;
ball.dynamic = YES;
ball.restitution = 1.0;
ball.linearDamping = 0.0;
ball.angularDamping = 0.0;
ball.friction = 0.0;
Run Code Online (Sandbox Code Playgroud)
我的场景中的引力为零.我向节点添加了一个冲动,它们开始弹跳 - 看起来非常接近,因为物体反弹,但是如果有任何缓慢移动并以浅角度进入,它们会"拥抱"边缘.我将尝试在下面插图以帮助可视化.
http://i.imgur.com/Rpr7luY.png
我尝试过使用大量的PhysicsBody设置,但不能让事情停止坚持.
谢谢!
错误的初始化程序。有两种SKPhysicsBody-基于卷和基于边缘。您使用的类型完全错误,它不参与运动。
| 归档时间: |
|
| 查看次数: |
3264 次 |
| 最近记录: |