forked from: flash on 2010-3-15
♥0 |
Line 57 |
Modified 2010-10-01 11:32:00 |
MIT License
archived:2017-03-20 02:42:42
ActionScript3 source code
/**
* Copyright onetruth ( http://wonderfl.net/user/onetruth )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/xTCF
*/
// forked from gradicus's flash on 2010-3-15
package {
import flash.display.Sprite;
import flash.events.Event;
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.events.InteractiveScene3DEvent;
import org.papervision3d.render.BasicRenderEngine;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.view.Viewport3D;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.objects.primitives.Cube;
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.core.proto.LightObject3D;
import org.papervision3d.materials.shadematerials.FlatShadeMaterial;
import net.hires.debug.Stats;
[SWF(backgroundColor="#000000", frameRate="60")]
public class Test extends Sprite
{
public var viewport:Viewport3D;
public var scene:Scene3D = new Scene3D();
public var camera:Camera3D = new Camera3D();
public var renderer:BasicRenderEngine = new BasicRenderEngine();
private var _cube:Cube;
public function Test()
{
addChild(new Stats())
viewport = new Viewport3D(stage.stageWidth,stage.stageHeight);
addChild(viewport);
init3D();
addEventListener(Event.ENTER_FRAME, update);
}
private function init3D():void
{
var light:LightObject3D = new LightObject3D(true);
light.z = -500;
light.y = 400;
scene.addChild(light);
var material:ColorMaterial = new ColorMaterial(0xFFCC00,1);
var material:FlatShadeMaterial = new FlatShadeMaterial(light, 0xFFCC00, 0x222222, 10);
var materialList:MaterialsList = new MaterialsList();
materialList.addMaterial(material,"front");
materialList.addMaterial(material,"back");
materialList.addMaterial(material,"left");
materialList.addMaterial(material,"right");
materialList.addMaterial(material,"top");
materialList.addMaterial(material,"bottom");
_cube = new Cube(materialList,100,100,100);
scene.addChild(_cube);
camera.y = 200;
camera.lookAt(_cube);
}
private function update(event:Event ):void
{
_cube.rotationZ++;
renderer.renderScene(scene,camera,viewport);
}
}
}