нашел раздел для ас. ну уже тут написал..
В общем, я через circle и делаю. Вот кусок кода:
Код
//Использование графики кузова
[Embed(source="assets/cabin.png")] private var Cabin:Class;
//Использование графики колеса
[Embed(source="assets/wheel.png")] private var Wheel:Class;
...
//Объединение - машина
car = new Compound();
//решение через импорт графического изображения колеса в Bitmap
//Колесо переднее
wheel_front = new Body(BodyType.DYNAMIC);
//Установка формы колеса(и материала)
wheel_front.shapes.add(new Circle(Cars.WHEEL_RADIUS, null, Material.rubber()));
//Центрирование, для того чтобы было координаты (0, 0) совпадали с центром массы
//wheel_front.align();
//Присвоение графики для колеса
var wheel_frontIso:BitmapDataIso = new BitmapDataIso((new Wheel()).bitmapData, 0x80);
wheel_front = IsoBody.run(wheel_frontIso, wheel_frontIso.bounds);
//Задание начальных координат
wheel_front.position.setxy(290, 106);
graphicF = wheel_frontIso.graphic();
//Добавление графического представления колеса в список отображения(на экран)
addChild(graphicF);
wheel_front.userData.graphicF = graphicF;
wheel_front.compound = car;
/* //или решение через импорт графического изображения колеса в спрайт
wheel_front.userData.sprite wheel_front = new Body(BodyType.DYNAMIC);
wheel_front.shapes.add(new Circle(Cars.WHEEL_RADIUS));
var wheel_frontIso:BitmapDataIso = new BitmapDataIso((new Wheel()).bitmapData, 0x80);
wheel_front = IsoBody.run(wheel_frontIso, wheel_frontIso.bounds);
wheel_front.position.setxy(290, 106); graphicF = wheel_frontIso.graphic();
wheel_front.userData.sprite = new Sprite();
wheel_front.userData.sprite.addChild(graphicF);
addChild(wheel_front.userData.sprite);
wheel_front.userData.graphicF = graphicF;
wheel_front.compound = car; */
Saitei: отредактировал сообщение. Код правильно вставляется следующим образом:
[code]код[/ code] (между "/" и "code" нужно убрать пробел)Добавлено (15 мая 2015, 19:48)
---------------------------------------------
да, вообщем то проблема была всётаки в том, что создавал полигонами. пример в 40 строках некудышний для моего решения, но после просеивания 3 дней сети(в которой одно старьё), и видоизменения всех взаимосвязей, я заметил полигон (как основную причину)
при создании колеса обращаясь из основного класса через:
Код
wheel_front = IsoBody.run(wheel_frontIso, wheel_frontIso.bounds, false);
к IsoBody.as создаём условие для полигона или круга:
Код
if(isPoligon)
body.shapes.add(new Polygon(q));
else
body.shapes.add(new Circle(Cars.WHEEL_RADIUS,new Vec2(Cars.WHEEL_RADIUS, Cars.WHEEL_RADIUS)));