Воскресенье, 22 Декабря 2024, 10:15

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Удлиняющаяся рука
mitchДата: Четверг, 25 Августа 2011, 22:31 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Подскажите как реализовать удлиняющуюся руку. Я работаю с физическим движком Chipmunk, поэтому возникают трудности.
Я сейчас реализовываю так: в цикле сначала удаляю объект, а потом создаю новый, с новой длиной. Проблема в том, что получается, что либо рука с обеих сторон удлиняется, либо вообще не удлиняется.
Вот с какими параметрами я сначала создаю руку:
Code
     
   handVerts[0] := cpv(-handWidth/2.0, -handHeight/2.0);//это вершины прямоугольника
   handVerts[1] := cpv(-handWidth/2.0, handHeight/2.0);
   handVerts[2] := cpv(handWidth/2.0, handHeight/2.0 );
   handVerts[3] := cpv(handWidth/2.0, -handHeight/2.0 );
   handBody.p := cpv( x + w/2.0 - 4, y + h/2.0 + 4); //позиция прямоугольника(x, y - начальные координаты, w, h - размеры самого человека)
   constraintBodyHand := cpSpaceAddConstraint(space, cpPivotJointNew(body, handBody, cpv(x + 8, y )));//точка соединения тела и руки

Как я создаю объекты при удлинении руки
Code
handH := handH + 5;
     handVerts[0] := cpv(-handW/2.0, -50/2.0);
     handVerts[1] := cpv(-handW/2.0, handH/2.0 );
     handVerts[2] := cpv(handW/2.0, handH/2.0 );
     handVerts[3] := cpv(handW/2.0, -50/2.0);
     handBody.p := cpv( body.p.x + w/2.0 - 4, body.p.y + h/2.0 + 4);
     constraintBodyHand := cpSpaceAddConstraint(space, cpPivotJointNew(body, handBody, cpv(body.p.x + 8, body.p.y )));
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг