package {
import org.papervision3d.materials.BitmapMaterial;
import org.papervision3d.objects.primitives.Sphere;
import org.papervision3d.view.BasicView;
import flash.display.Bitmap;
import flash.events.Event;
[SWF(width="800", height="600", backgroundColor="0x000000")]
public class SphereDemo extends BasicView
{
[Embed(source="assets/image.jpg")]
public var mlImage:Class;
private var sphere:Sphere;
public function SphereDemo(viewportWidth:Number = 800, viewportHeight:Number = 600,
scaleToStage:Boolean=true, interactive:Boolean=false, cameraType:String="CAMERA3D")
{
super(viewportWidth, viewportHeight, scaleToStage, interactive, cameraType);
var data:Bitmap;
var mlMaterial:BitmapMaterial;
data = new mlImage() as Bitmap;
mlMaterial = new BitmapMaterial(data.bitmapData);
sphere = new Sphere(mlMaterial, 300, 32, 24);
scene.addChild(sphere);
renderer.renderScene(scene, camera, viewport);
this.startRendering();
}
protected override function onRenderTick(event:Event = null):void {
sphere.yaw((mouseY-(stage.stageHeight/2))/(stage.height/2)*5);
sphere.roll((mouseX - (stage.stageWidth/2))/(stage.width / 2) * -5);
renderer.renderScene(scene, camera, viewport)
}
}
}