forked from: forked from: JigLibFlash Test

by takashi08 forked from forked from: JigLibFlash Test (diff: 46)
JigLibFlash が Papervision 以外の 3D エンジンに対応して、書き方が変わっていたので新 JigLibFlash をいじってみた。

初めて使うので、自分なりにわかりやすいように編集。

...
@author tkinjo
♥0 | Line 62 | Modified 2011-01-06 01:58:46 | MIT License
play

ActionScript3 source code

/**
 * Copyright takashi08 ( http://wonderfl.net/user/takashi08 )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/u7c4
 */

// forked from umi_kappa's forked from: JigLibFlash Test
// forked from tkinjo's JigLibFlash Test
package  
{
    /**
     * JigLibFlash が Papervision 以外の 3D エンジンに対応して、書き方が変わっていたので新 JigLibFlash をいじってみた。
     */
     
     /*
         初めて使うので、自分なりにわかりやすいように編集。
     */
    
    import flash.events.*;
    
    import jiglib.physics.RigidBody;
    import jiglib.plugin.papervision3d.Papervision3DPhysics;
    
    import org.papervision3d.materials.utils.MaterialsList;
    import org.papervision3d.materials.*;
    import org.papervision3d.objects.*;
    import org.papervision3d.view.*;
    
    [SWF(width = "465", height = "465", frameRate = "60", backgroundColor = "#ffffff")]
    
    /**
     * ...
     * @author tkinjo
     */
    public class Main extends BasicView
    {
        private const speed:Number = 10;
        
        private var physics:Papervision3DPhysics;
        
        public function Main() 
        {
            
            // カメラ設定
             camera.z = 100;
             camera.y = 300;
             camera.x = 500;
             camera.lookAt( DisplayObject3D.ZERO );
            
            /*---------------
                jiglib 設定
            ---------------*/
            physics = new Papervision3DPhysics( scene, speed );
            
            // 地面の作成
            var wireframeMaterial:WireframeMaterial = new WireframeMaterial( 0 );
            var ground:RigidBody = physics.createGround( wireframeMaterial, 3000, 0 );
            
            // ボックスの作成
            var materials:MaterialsList = new MaterialsList();
            materials.addMaterial( new WireframeMaterial( 0 ), "all" );
            
            var box:RigidBody;
            var xx:int = 0;
            var zz:int = 0;
            var mtlx:int = 50;
            var mtly:int = 150;
            var mtlz:int = 30;
            var ex:int = 0;
            for (var i:int = 0; i < 6; i++) {
                if((i == 3)||(i == 4)||(i ==5)){
                    xx = 0;
                    ex = 0
                    
                    mtlx = 150;
                    mtly = 50;
                    mtlz = 30;
                    
                    box.z = zz*50;
                    zz++;
                    
                }else{
                    
                    mtlx = 50;
                    mtly = 150;
                    mtlz = 30;
                    
                    
                }
                box = physics.createCube( materials, mtlx, mtly, mtlz);
                box.y = 30*i;
                box.x = 50*xx-ex;
                xx++;
                
                
                
            }
            
            addEventListener( Event.ENTER_FRAME, enterFrameHandler );
            
            //レンダリング
            startRendering();
            stage.addEventListener(MouseEvent.MOUSE_DOWN,downHandler);
        }
        private function downHandler(event:MouseEvent):void{
            
            
            
        }

        
        private function enterFrameHandler( event:Event ):void {
            physics.step();
        }
    }
}