Forked from: bunta's forked from: ActionScript練習 Papervision3Dを使ってみる diff:5 forked from: forked from: ActionScript練習 Papervision3Dを使ってみる syuta forked:2favorite:0lines:47license : All rights reserved modified : 2010-03-11 12:45:14 Embed Tweet // forked from bunta's forked from: ActionScript練習 Papervision3Dを使ってみる // forked from pon_zu's ActionScript練習 Papervision3Dを使ってみる package { import flash.display.*; import flash.events.*; import org.papervision3d.cameras.Camera3D; import org.papervision3d.materials.*; import org.papervision3d.objects.*; import org.papervision3d.objects.primitives.Cube; import org.papervision3d.render.BasicRenderEngine; import org.papervision3d.scenes.Scene3D; import org.papervision3d.materials.utils.MaterialsList; import org.papervision3d.view.Viewport3D; import org.papervision3d.lights.PointLight3D; import org.papervision3d.materials.shadematerials.FlatShadeMaterial; public class PV3D_01 extends Sprite { private var camera :Camera3D; private var scene :Scene3D; private var viewport :Viewport3D; private var renderer :BasicRenderEngine; private var cube :Cube; // 立方体 public function PV3D_01() { camera = new Camera3D(); // 3D空間を見るカメラ camera.x = 0; camera.y = 0; camera.z = -1000; scene = new Scene3D(); // 3Dシーン viewport = new Viewport3D( stage.stageWidth, stage.stageHeight ); // 平面 renderer = new BasicRenderEngine(); // 投影するエンジン addChild( viewport ); var light:PointLight3D = new PointLight3D(false); light.x = 0; light.y = 0; light.z = -1000; // 3D空間のオブジェクトの素材やカラーの指定。ここでは全体に青色を指定している。 var materials :MaterialsList = new MaterialsList( { all : new FlatShadeMaterial(light, 0xeeeeee) } ); cube = new Cube( materials ); cube.x = 0; cube.y = 0; cube.z = 0; scene.addChild( cube ); // Event.ENTER_FRAMEにonEnterFrame()を結び付けている。 addEventListener( Event.ENTER_FRAME, onEnterFrame ); } public function onEnterFrame(e:Event): void { cube.rotationX -= ( mouseY - stage.stageWidth /2 ) / 100; cube.rotationY -= ( mouseX - stage.stageHeight/2 ) / 100; renderer.renderScene( scene, camera, viewport ); } } } Code Fullscreen Preview Fullscreen viewport scene materials light BasicRenderEngine Viewport3D rotationY rotationX renderScene mouseY mouseX stageWidth stageHeight addEventListener addChild Event.ENTER_FRAME Event Sprite sort new page view favorite forked pv31 forked from: forked from: fork.. hacker_umjkk2a3 forked:0 favorite:0lines:52 (diff:9) pv133 forked from: forked from: fork.. monolithed forked:0 favorite:0lines:47 (diff:21)