package { import flash.display.*; import flash.events.*; import flash.utils.*; import org.papervision3d.cameras.*; import org.papervision3d.core.effects.view.ReflectionView; import org.papervision3d.materials.*; import org.papervision3d.materials.utils.MaterialsList; import org.papervision3d.objects.*; import org.papervision3d.objects.primitives.*; public class CubePic extends ReflectionView { private var cube:Cube; public var checkPolicyFile:Boolean = true; public function CubePic() { cube = createCube(); scene.addChild(cube); camera.y = 600; addEventListener(Event.ENTER_FRAME, onMove); } private function createCube():Cube { var materialsList:MaterialsList = new MaterialsList(); var imgArr:Array = new Array(); for (var i:int = 0; i < 6; i++) { imgArr[i] = new BitmapFileMaterial('./images/img'+i+'.jpg'); } var faceArr:Array = ['front', 'back', 'top', 'bottom', 'right', 'left']; for (var j:int = 0; j < imgArr.length; j++ ) { var bitmap:BitmapFileMaterial = imgArr[j]; bitmap.smooth = true; materialsList.addMaterial(bitmap, faceArr[j]); } cube = new Cube(materialsList, 120, 120, 120, 1, 1, 1); return cube; } private function onMove(e:Event):void { cube.yaw((200 - mouseX ) / 14); cube.pitch((200 - mouseY ) / 14); cube.y = Math.sin(getTimer() / 300) * -25 + 240; camera.x = 50 * Math.sin(getTimer() / 4000); camera.z = 50 * Math.cos(getTimer() / 4000); startRendering(); //singleRender(); } } }