Title: Two Sided Plane
Simple two sided Plane extending DisplayObject3D using BasicView - revision 669 -
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.basic {
-
-
import com.dehash.pv3d.examples.extended.SimpleTwoSidedPlane;
-
import org.papervision3d.view.BasicView;
-
import flash.events.Event;
-
-
[SWF(width="800", height="600", backgroundColor="0xFFFFFF")]
-
-
public class SimpleTwoSidedPlaneDemo extends BasicView
-
{
-
private var simpleTwoSidedPlane:SimpleTwoSidedPlane;
-
-
public function SimpleTwoSidedPlaneDemo(viewportWidth:Number = 800, viewportHeight:Number = 600,
-
scaleToStage:Boolean=true, interactive:Boolean=false, cameraType:String="CAMERA3D")
-
{
-
-
super(viewportWidth, viewportHeight, scaleToStage, interactive, cameraType);
-
-
simpleTwoSidedPlane = new SimpleTwoSidedPlane();
-
simpleTwoSidedPlane.scale = 3;
-
scene.addChild(simpleTwoSidedPlane);
-
renderer.renderScene(scene, camera, viewport);
-
-
this.startRendering();
-
}
-
-
protected override function onRenderTick(event:Event = null):void {
-
simpleTwoSidedPlane.pitch((mouseY-(stage.stageHeight/2))/(stage.height/2)*2);
-
simpleTwoSidedPlane.yaw((mouseX-(stage.stageWidth/2))/(stage.width/2)*2);
-
renderer.renderScene(scene, camera, viewport)
-
}
-
-
}
-
}
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.extended {
-
import org.papervision3d.materials.MovieMaterial;
-
import org.papervision3d.objects.DisplayObject3D;
-
import org.papervision3d.objects.primitives.Plane;
-
import org.papervision3d.materials.WireframeMaterial;
-
import flash.display.Sprite;
-
import flash.text.*;
-
-
public class SimpleTwoSidedPlane extends DisplayObject3D {
-
-
private var sprite:Sprite;
-
public var frontPlane:Plane;
-
public var backPlane:Plane;
-
private var wh:uint = 256;
-
private var quality:uint = 8;
-
-
public function SimpleTwoSidedPlane() {
-
init();
-
}
-
-
private function init():void {
-
sprite = new Sprite();
-
sprite.graphics.beginFill(0xcc0000);
-
sprite.graphics.drawRect(0, 0, wh/4, wh);
-
sprite.graphics.drawRect((wh/4)*3, 0, wh/4, wh);
-
-
var textFormat:TextFormat = new TextFormat("Arial");
-
textFormat.size = 20;
-
textFormat.leftMargin = 4;
-
textFormat.rightMargin = 4;
-
textFormat.color = 0x333333;
-
-
var textField:TextField = new TextField();
-
textField.autoSize = TextFieldAutoSize.LEFT;
-
textField.defaultTextFormat = textFormat;
-
textField.text = "Simple Two Sided Plane";
-
textField.x = 14;
-
textField.y = 14;
-
-
sprite.addChild(textField);
-
-
var frontMaterial:MovieMaterial = new MovieMaterial(sprite, true);
-
frontMaterial.smooth = true;
-
-
var backMaterial:WireframeMaterial = new WireframeMaterial(0x00FF00);
-
-
frontPlane = new Plane(frontMaterial, wh, wh, quality, quality);
-
backPlane = new Plane(backMaterial, wh, wh, quality, quality);
-
-
backPlane.rotationY = 180;
-
frontPlane.z = 1;
-
-
addChild(backPlane);
-
addChild(frontPlane);
-
}
-
-
}
-
}