mankis
asked on
AS3/Papervision can I nest a 3D text using DisplayObject3D
I have text Class for displaying text in 3D papervision. I'm trying to learn how to nest this 3D text with other object. You can see code attached. With this code I'm getting error:
1067: Implicit coercion of a value of type TextNested to an unrelated type org.papervision3d.objects: DisplayObj ect3D.
so this is probably the wrong way. Do you know some tutorial or is there some other way to to that?
1067: Implicit coercion of a value of type TextNested to an unrelated type org.papervision3d.objects:
so this is probably the wrong way. Do you know some tutorial or is there some other way to to that?
package {
import flash.events.Event;
import org.papervision3d.view.BasicView;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.objects.primitives.*;
public class TestPivot extends BasicView {
private var pivot3D:DisplayObject3D;
private var easeOut:Number = 0.6;
private var reachX:Number = 0.5;
private var reachY:Number = 0.5;
private var reachZ:Number = 0.5;
public function TestPivot() {
pivot3D= new DisplayObject3D();
init();
startRendering();
}
private function init():void {
scene.addChild(pivot3D);
var sfera:Sphere = new Sphere(null,100,12,8);
sfera.x=400;
pivot3D.addChild(sfera);
var plan:Plane = new Plane(null,300,300,8,8);
plan.x=-100;
pivot3D.addChild(plan);
var tekst:TextNested = new TextNested("test 3D tekst",stage.stageWidth,stage.stageHeight);
tekst.x=-300;
pivot3D.addChild(tekst);
}
override protected function onRenderTick(e:Event=null):void {
var xDist:Number = mouseX - stage.stageWidth * 0.5;
var yDist:Number = mouseY - stage.stageHeight * 0.5;
camera.x += (xDist - camera.x * reachX) * easeOut;
camera.y += (yDist - camera.y * reachY) * easeOut;
//camera.z += (-mouseY * 2 - camera.z ) * reachZ;
super.onRenderTick();
}
}
}
package {
import flash.events.Event;
import org.papervision3d.materials.special.Letter3DMaterial;
import org.papervision3d.typography.Font3D;
import org.papervision3d.typography.Text3D;
import org.papervision3d.typography.fonts.Square721BT;
import org.papervision3d.view.BasicView;
public class TextNested extends BasicView {
private var material:Letter3DMaterial;
private var font3D:Font3D;
private var text3D:Text3D;
private var easeOut:Number = 0.6;
private var reachX:Number = 0.5;
private var reachY:Number = 0.5;
private var reachZ:Number = 0.5;
private var text:String;
private var stagewidth:Number;
private var stageheight:Number;
public function TextNested(teksts:String,stagew:Number,stageh:Number) {
text = teksts;
stagewidth = stagew;
stageheight = stageh;
init();
}
private function init():void {
material = new Letter3DMaterial(0xFFFFFF);
font3D = new Square721BT();
text3D = new Text3D(text,font3D,material);
text3D.scale = 0.5;
text3D.align = "left";
text3D.letterSpacing = -3;
text3D.lineSpacing = -30;
text3D.material.lineThickness = 0;
text3D.material.lineAlpha = 1;
text3D.material.lineColor = 0xFF0000;
//scene.addChild(text3D);
}
}
}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.