// forked from LokiTang's flash on 2009-5-12 1. package 2. { 3. import flash.display.Sprite; 4. import flash.events.Event; 5. import flash.display.StageAlign; 6. import flash.display.StageScaleMode; 7. import org.papervision3d.core.view.IView; 8. /** 9. * ... 10. * @author ... 11. */ 12. public class Pv3d004 extends Sprite 13. { 14. private var _view:CustomView; 15. public function Pv3d004() 16. { 17. addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler); 18. } 19. 20. private function addedToStageHandler(e:Event):void 21. { 22. stage.align = StageAlign.TOP_LEFT; 23. stage.scaleMode = StageScaleMode.NO_SCALE; 24. stage.frameRate = 30; 25. 26. _view = new CustomView(); 27. addChild(_view); 28. } 29. 30. } 31. } 32. 33. import flash.events.Event; 34. import flash.text.TextField; 35. import flash.text.TextFieldAutoSize; 36. import flash.text.TextFormat; 37. import org.papervision3d.view.BasicView; 38. import org.papervision3d.objects.primitives.Cube; 39. import org.papervision3d.materials.utils.MaterialsList; 40. import org.papervision3d.materials.special.CompositeMaterial; 41. import org.papervision3d.materials.shadematerials.FlatShadeMaterial; 42. import org.papervision3d.materials.WireframeMaterial; 43. import org.papervision3d.lights.PointLight3D; 44. import org.papervision3d.core.proto.MaterialObject3D; 45. internal class CustomView extends BasicView { 46. private var tf:TextField; 47. private var cube:Cube; 48. public function CustomView() { 49. super(0, 0, true, true); 50. 51. buildScene(); 52. startRendering(); 53. addEventListener(Event.ENTER_FRAME, enterFrameHandler); 54. } 55. 56. private function enterFrameHandler(e:Event):void 57. { 58. cube.rotationX += 1; 59. cube.rotationY += 1; 60. cube.rotationZ += 1; 61. } 62. 63. protected function buildScene():void { 64. var cmat:CompositeMaterial = new CompositeMaterial(); 65. var ml:MaterialsList = new MaterialsList(); 66. 67. var pointLight:PointLight3D; 68. pointLight = new PointLight3D(true); 69. pointLight.z = -800; 70. pointLight.y = 300; 71. pointLight.x = 300; 72. 73. var flatmat:FlatShadeMaterial; 74. flatmat = new FlatShadeMaterial(pointLight,0xcccccc, 0x000000, 0); 75. cmat.addMaterial(flatmat); 76. //cmat.addMaterial(new WireframeMaterial(0xff0000, 1, 1)); 77. ml.addMaterial(cmat, "all"); 78. 79. cube = new Cube(ml, 100, 100, 100, 2, 2, 2); 80. scene.addChild(cube, "cube"); 81. 82. camera.x = 0; 83. camera.y = 0; 84. camera.z = -400; 85. } 86. } forked from: flash on 2009-5-12