PDA

Просмотр полной версии : Box2D 2.0.2 Shape Проблемка вышла)


Flash men
01.01.2014, 20:07
Стал копать в сторону физ. движков. Работаю в Box2D 2.0.2.
Но возникла проблема: когда я пытаюсь соединить 2 тела одним шейпом, они соединяются их центрами и не воспринимают указанный мною угол наклона. Мне надо чтобы они соединились в одной точке и под углом указанными мною.
Вот мой горе-код:

/*Тут расположены свойства тела 1, названные Body1Def (Тут же и угол наклона)*/
var Body1:b2Body;
Body1=m_world.CreateBody(Body1Def);
/*Тут расположены свойства тела 2, названные Body2Def (Тут же и угол наклона)*/
Body1.CreateShape(Body2Def);

Методы SetAsOrientedBox, SetLocalPosition и b2WeldJoint не работают из-за моей версии 2.0.2
Заранее спасибо.:D

Добавлено через 7 минут
Весь код в AS 2.0. Не предлагайте сделать это в AS3 и посредством Box2D 2.1a.
На AS3 мне нельзя а Box2D 2.1a не люблю)

caseyryan
02.01.2014, 00:14
На сколько я помню, в бокс2д никакие переназначения свойств тела не происходят пока мир закрыт.
Не знаю как там в ас2 (разве бокс2д есть на ас2? Оо ), но в ас3 это можно проверить с помощью метода world.IsLocked();
Открывается он непосредственно перед каждым новым временным шагом, вот тогда и происходят все изменения параметров тел.
Так вот, к чему я это. У вас скорее всего поворот формы задается, и потом сразу идет создание тела. То есть по факту, реального поворота на этот момент еще не произошло.
Не уверен, что проблема в этом, но вполне возможно, что так и есть.

п.с. бокс2д вообще отстойный движок, тем более 2.0.2. Попробуйте глянуть в сторону Nape, и все же перейти на ас3