Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   [Nape] Поднять example (http://www.flasher.ru/forum/showthread.php?t=202090)

AlexCooper 30.06.2013 18:05

Поднять example
 
Здравствуйте.
Помогите поднять вот этот example.

Код AS3:

package
{
        import starling.core.Starling;
        import flash.display.Sprite;
 
        [SWF( width="600", height="720", frameRate="60", backgroundColor="#FFFFFF")]
        public class NapeTest extends Sprite
        {
 
                private var starlingInstance:Starling;
 
                public function NapeTest()
                {                       
                        addChild(new PhysicsWorld());
 
                        /*starlingInstance = new Starling( PhysicsWorld, stage );
                        starlingInstance.start();*/

 
                        super();
                }
        }
}

Код AS3:

package
{
        import nape.geom.Vec2;
        import nape.phys.Body;
        import nape.phys.BodyType;
        import nape.phys.Material;
        import nape.shape.Circle;
        import nape.shape.Polygon;
        import nape.space.Space;
        import nape.util.BitmapDebug;
        import nape.util.Debug;
 
        ///import starling.core.Starling;
        import flash.display.Sprite;
        import flash.events.Event;
 
        public class PhysicsWorld extends Sprite
        {
                protected var mySpace:Space;
                private var myDebugger:BitmapDebug;
                private var screenWidth:Number;
                private var screenHeight:Number;
 
 
                public function PhysicsWorld()
                {
                        addEventListener(Event.ADDED_TO_STAGE, onInit );
                        super();
                }
 
                protected function init():void {
 
                }
                protected function postUpdate(deltaTime:Number):void { };
 
                private function onInit(event:Event):void
                {
                        InitDebugAndSpace();
                        InitBodies();
 
                        InitBitmap();
 
                        addEventListener(Event.ENTER_FRAME, updateWorld );
                }
 
                private function InitBitmap():void
                {
                        // TODO Auto Generated method stub
 
                }
 
                private function InitBodies():void
                {
                        var floor:Body = new Body();
 
                        floor.type = BodyType.STATIC;
                        floor.shapes.add( new Polygon ( Polygon.rect( 0 , screenHeight - 20 , screenWidth, 20 ) ) );
                        floor.space = mySpace;
 
                        var boulder:Body = new Body( BodyType.DYNAMIC ) ;
                        boulder.shapes.add( new Circle( 50 ) );
                        boulder.setShapeMaterials( Material.steel() );
                        boulder.position.setxy( screenWidth / 2 , 100 );
                        boulder.space = mySpace;
 
                        for ( var i:uint = 0; i < 10 ; i ++ ) {
                                for ( var j:uint = 0; j < 10 ; j ++ ) {
                                        var brick:Body = new Body( BodyType.DYNAMIC ) ;
                                        brick.shapes.add( new Polygon( Polygon.box( 20, 20 ) ) );
                                        brick.position.setxy( ( screenWidth/2 -100) + (j*20+5), (screenHeight-40)-(i*20) );
                                        brick.space = mySpace;
                                }
                        }
 
// Вот здесь
                        var b:BodyFromGraphic = new BodyFromGraphic();
                        b.init();
                        /*var body:Body=b.NewBitmapToBody();
                        //body.space=space;
                        body.graphicUpdate= updateGraphics;
                        addChild(body.graphic);*/

                }
 
                private function InitDebugAndSpace():void
                {
 
                        var myDevMenu:DevMenu = new DevMenu("1.0",0XCCCC00,true);
 
                        var worldGravity:Vec2 = Vec2.weak(0,600);
                        mySpace = new Space( worldGravity );
 
 
                        screenWidth = stage.stageWidth;
                        screenHeight= stage.stageHeight;
 
                        myDebugger = new BitmapDebug( screenWidth, screenHeight, 0x000000 );
 
                        addChild( myDebugger.display );
 
                        addChild(myDevMenu);
                }
 
                private function updateWorld(event:Event):void
                {
                        myDebugger.clear();
 
                        mySpace.step(1/60);
 
                        myDebugger.draw(mySpace);
                        myDebugger.flush();
                }
        }
}


Simplifier 30.06.2013 23:35

Класс Template тут: https://github.com/deltaluca/www.nap...samples/common

AlexCooper 01.07.2013 00:43

спасибо


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

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