Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   [Box2D] отображение в box2d (http://www.flasher.ru/forum/showthread.php?t=138320)

sweetPepper 04.04.2010 17:25

отображение в box2d
 
К одному телу прикрепляю несколько шейпов, каждый шейп имеет свою картинку. Как сделать отображение этих картинок?
Код AS3:

var body:b2Body;
var bodyDef:b2BodyDef;
 
bodyDef = new b2BodyDef();
bodyDef.position.x =10;
bodyDef.position.y =4;
body = m_world.CreateBody(bodyDef);
 
addPolygonDef(new b2Vec2(0,0));
addPolygonDef(new b2Vec2(0.6,0));
addPolygonDef(new b2Vec2(1.2,0));
addPolygonDef(new b2Vec2(1.2,0.6));
 
body.SetMassFromShapes();
 
private function addPolygonDef(v:b2Vec2):void{
        var ShapeDef:b2PolygonDef=new b2PolygonDef();
        ShapeDef.SetAsOrientedBox(0.3, 0.3,v,0);
        ShapeDef.density = 1;
        ShapeDef.friction = 1;
        ShapeDef.restitution = 0.3;
        ShapeDef.userData = new PhysBox();
        ShapeDef.userData.width = 18;
        ShapeDef.userData.height = 18;
        addChild(ShapeDef.userData);
        body.CreateShape(ShapeDef);
}

При таком отображении все картинки тела отображаются друг на друге
Код AS3:

public function Update(e:Event):void{
 
        m_world.Step(m_timeStep, m_iterations);
 
        for (var bb:b2Body = m_world.m_bodyList; bb; bb = bb.m_next)
                for (var bs:b2Shape = bb.m_shapeList; bs; bs = bs.m_next){
                        if (bs.m_userData is Sprite){
                                bs.m_userData.x = bb.GetPosition().x * 30;
                                bs.m_userData.y = bb.GetPosition().y * 30;
                                bs.m_userData.rotation = bb.GetAngle() * (180/Math.PI);
 
                        }
                }
}

Что изменить?
Также интересно услышать другие варианты создания фигурок для тетриса!


Часовой пояс GMT +4, время: 04:11.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.