Я искал этот файл, и я думаю, что для его исправления должен быть какой-то параметр, но я его не нашел.
У меня есть сцена в SpriteKit, где я хочу, чтобы некоторые круги/шары подпрыгивали и поддерживали любую скорость, которую они имеют бесконечно. Они должны отскакивать от края сцены.
Это работает, если они двигаются достаточно быстро или попадают под довольно резкий угол, но если они идут медленнее и приближаются к плоскости края, они продолжают двигаться (что хорошо), но они "Stick" к краям. Это то, чего я не хочу. Они должны отскочить, даже если идти очень медленно.
Чтобы настроить края, я использовал:
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;
И на узлах круга у меня есть аналогичные настройки, например:
ball.usesPresciseCollisionDetection = YES;
ball.dynamic = YES;
ball.restitution = 1.0;
ball.linearDamping = 0.0;
ball.angularDamping = 0.0;
ball.friction = 0.0;
У меня есть сила тяжести в моей сцене в ноль. Я добавляю импульс к узлам, и они начинают подпрыгивать. Кажется, очень близко, так как все отскакивает, но если есть какие-то движения, которые медленно движутся и заходят на мелкий угол, они "обнимают" края. Я попробую включить иллюстрацию ниже, чтобы визуализировать.
http://i.imgur.com/Rpr7luY.png
Я пробовал играть с множеством настроек PhysicalBody, но не могу заставить вещи перестать прилипать.
Спасибо!