Title: Rotation Demo
Rotation Demo example using BasicView - revision 677 - also uses minimalcomps
Actionscript:
-
/**
-
* v0.1 code by dehash.com 2008
-
* Released as open source under the BSD License
-
* http://www.opensource.org/licenses/bsd-license.php
-
*/
-
package com.dehash.pv3d.examples.interactivity {
-
import org.papervision3d.view.BasicView;
-
import org.papervision3d.materials.ColorMaterial;
-
import org.papervision3d.objects.primitives.Plane;
-
import flash.display.BlendMode;
-
import flash.display.MovieClip;
-
import flash.events.Event;
-
// http://code.google.com/p/minimalcomps/
-
import com.bit101.components.Knob;
-
-
[SWF(width="800", height="600", backgroundColor="0x333333")]
-
-
public class RotationDemo extends BasicView
-
{
-
private var plane:Plane;
-
-
public function RotationDemo(viewportWidth:Number = 800, viewportHeight:Number = 600,
-
scaleToStage:Boolean=true, interactive:Boolean=false, cameraType:String="CAMERA3D")
-
{
-
super(viewportWidth, viewportHeight, scaleToStage, interactive, cameraType);
-
-
var mc:MovieClip = new MovieClip();
-
var dial:Knob;
-
-
dial = new Knob(null, 0, 0, "rotationX", dialChangeHandler);
-
dial.maximum = 360;
-
mc.addChild( dial );
-
-
dial = new Knob(null, 100, 0, "rotationY", dialChangeHandler);
-
dial.maximum = 360;
-
mc.addChild( dial );
-
-
dial = new Knob(null, 200, 0, "rotationZ", dialChangeHandler);
-
dial.maximum = 360;
-
mc.addChild( dial );
-
-
mc.scaleX = mc.scaleY = 2;
-
mc.x = (stage.stageWidth/2)-(mc.width/2) + 65;
-
mc.y = 100;
-
mc.blendMode = BlendMode.INVERT
-
addChild(mc);
-
-
var mat:ColorMaterial = new ColorMaterial();
-
mat.doubleSided = true;
-
plane = new Plane(mat);
-
plane.y -= 250;
-
scene.addChild(plane);
-
-
renderer.renderScene(scene, camera, viewport);
-
this.startRendering();
-
}
-
-
private function dialChangeHandler(event:Event):void {
-
plane[event.target.label] = int(event.target.value);
-
}
-
-
}
-
}