先看效果,以下是代码:
package
{
/**
* ...
* @author ☆閃☆閃ん
* 三维平面转动效果
*/
import flash.display.Sprite;
import flash.display.Stage;
import flash.events.Event;
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.objects.Plane;
import org.papervision3d.scenes.MovieScene3D;
import org.papervision3d.materials.WireframeMaterial;
public class One3d extends Sprite
{
private var _container:Sprite;
private var _scene:MovieScene3D;
private var _camera:Camera3D;
private var material:WireframeMaterial;
private var _plane:Plane;
public function One3d():void
{
init3d();
}
private function init3d():void
{
_container = new Sprite();//Create 3d Sprite
_container.x = stage.stageWidth / 2;
_container.y = stage.stageHeight / 2;
addChild(_container);
_scene = new MovieScene3D(_container);//Create 3d scene
_camera = new Camera3D();//Creater 3d camera
_camera.z = -500;
_camera.zoom = 5;
material = new WireframeMaterial(rgb());//Create material color
_plane = new Plane(material, 512, 128, 6, 2);
_scene.addChild(_plane);
_scene.renderCamera(_camera);
this.addEventListener(Event.ENTER_FRAME, onEnterFrameHandle);
}
private function onEnterFrameHandle(event:Event):void
{
_plane.rotationX += 5;
_plane.rotationY += 5;
_plane.rotationZ += 5;
_scene.renderCamera(_camera);
}
private function rgb():uint
{
return Math.random() * 0xFFFFFF + 0xFF000000;
}
}
}
回复Comments
作者:
{commentrecontent}