forked from: forked from: JigLibFlash Test
forked from forked from: JigLibFlash Test (diff: 46)
JigLibFlash が Papervision 以外の 3D エンジンに対応して、書き方が変わっていたので新 JigLibFlash をいじってみた。 初めて使うので、自分なりにわかりやすいように編集。 ... @author tkinjo
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();
}
}
}
