Я соединил несколько изображений в веревку. Как я могу уменьшить растяжение веревки?
Я создал веревку на основе этого урока, за исключением того, что к моей веревке прикреплен один шарик на каждом конце веревки.
Высокий уровень: так они создают веревку.
- создать массив
SKNodes
- добавить каждый сегмент (узел) веревки в массив
- добавить каждый узел на экран
- соединить каждый узел вместе, чтобы сформировать веревку
- (Затем я добавляю шарик на каждый конец веревки)
В моей программе я двигаю мяч и в основном качаю веревку вокруг, как эластичный маятник.
Вот моя проблема: если я очень сильно раскачиваю веревку, она слишком сильно растягивается! Как я могу уменьшить величину натяжения веревки? Я не вижу способа снижения эластичности тела.
Если есть какая-либо другая информация, которая будет полезна, пожалуйста, дайте мне знать! заранее спасибо
1 ответ
Вы можете попробовать эти два метода. Первый способ - увеличить свойство frictionTorque
из SKPhysicsJointPin
учебный класс.
Диапазон значений составляет от 0,0 до 1,0. Значение по умолчанию - 0.0. Если указано значение, превышающее значение по умолчанию, применяется трение для уменьшения угловой скорости объекта вокруг штифта.
Пример учебника, которому вы следовали, перед добавлением joint
на сцену, изменить frictionTorque
:
for i in 1...length {
let nodeA = ropeSegments[i - 1]
let nodeB = ropeSegments[i]
let joint = SKPhysicsJointPin.jointWithBodyA(nodeA.physicsBody!, bodyB: nodeB.physicsBody!,
anchor: CGPointMake(CGRectGetMidX(nodeA.frame), CGRectGetMinY(nodeA.frame)))
joint.frictionTorque = 0.5 // Add this line
scene.physicsWorld.addJoint(joint)
}
Второй метод заключается в ограничении угла поворота штифтового соединения. После включения shouldEnableLimits
, настроить lowerAngleLimit
а также upperAngleLimit
в радианах.
Подробнее о SKPhysicsJointPin Class Reference для определения характеристик штифтового соединения.