El problema es que el material que sale de hay solo cubre una cuarta parte del plano. Alguna idea?
Muchas gracias.
Código :
package {
import flash.display.*;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.events.*;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.view.BasicView;
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.materials.BitmapMaterial;
public class BlogPanel0 extends BasicView {
private var holder:DisplayObject3D;
private var bm:BitmapMaterial;
private var panel:Panel;
private var ancho:Number;
private var alto:Number;
private var do3d:DisplayObject3D;
private var p:Plane;
private var pBoton:Plane;
private var k:uint=0;
public function BlogPanel0() {
super(0, 0, true, true, "CAMERA3D");
viewport.buttonMode=true;
viewport.useHandCursor=true;
holder = new DisplayObject3D();
camera.x=stage.stageWidth/2;
camera.z=-400;
holder.x=stage.stageWidth/2
scene.addChild(holder);
initfront ();
}
private function initfront():void {
panel = new Panel ();
var l:Loader= new Loader ();
l.load(new URLRequest("prueba.jpg"));
l.contentLoaderInfo.addEventListener (Event.COMPLETE,cargado)
}
function cargado (e:Event){
panel.addChild (e.target.content);
var bitmapData:BitmapData = new BitmapData(301,400,false);
bitmapData.draw(panel,null,null,null,null,true);
bm= new BitmapMaterial(bitmapData);
bm.interactive = true;
for (var i:uint=0;i<3;++i){
poner();
}
this.startRendering();
}
private function poner():void {
var quality:Number=5;
var paraBoton:ColorMaterial = new ColorMaterial(0x000000)
paraBoton.interactive=true;
paraBoton.oneSide = true;
do3d = new DisplayObject3D();
p = new Plane(bm,225,350,quality,quality);
pBoton = new Plane (paraBoton,30,20,quality,quality);
do3d.addChild(p);
do3d.addChild(pBoton);
pBoton.x=20;
pBoton.y=-20;
pBoton.z=-40;
do3d.name="t"+k;
k++
switch (do3d.name) {
case "t0":
do3d.x = 0;
do3d.y = 0;
break;
case "t1":
do3d.x = -225;
do3d.y = 0;
break;
case "t2":
do3d.x = 225;
do3d.y = 0;
break;
}
holder.addChild(do3d);
}
protected override function onRenderTick(event:Event = null):void {
renderer.renderScene(scene, camera, viewport);
}
}
} 