el archivo .fla
Código ActionScript :
import battle; var game:battle = new battle(); game.init();
y el archivo .as
Código ActionScript :
package{
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.display.StageQuality;
import org.papervision3d.*
import org.papervision3d.view.Viewport3D;
import org.papervision3d.cameras.*;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.render.BasicRenderEngine;
import org.papervision3d.objects.primitives.Cube;
import org.papervision3d.materials.*;
import org.papervision3d.materials.MovieMaterial;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.core.geom.renderables.Vertex3D
import org.papervision3d.objects.DisplayObject3D;
import flash.display.BitmapData;
public class battle extends Sprite {
//definiciones de variables globales
var viewport:Viewport3D;
var renderer:BasicRenderEngine;
var escena:Scene3D;
var camara:Camera3D;
/*var movieMaterial:BitmapFileMaterial;
var ml:MaterialsList = new MaterialsList();*/
var movieMaterial:MovieMaterial;
var ml:MaterialsList = new MaterialsList();
var cubo:DisplayObject3D;
var ref_object3D:DisplayObject3D;
var g__field:Array = [
[1,1,1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1,1,1],
[1,0,1,1,1,1,1,1,1,0],
[1,0,1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,0,1,1,1],
[1,1,0,1,1,0,1,1,1,1],
[1,1,1,1,0,1,1,1,1,1],
[1,0,1,0,1,1,1,1,1,1],
[1,1,0,1,1,1,1,1,1,1]
];
//fin de variables globales
public function battle(){}
public function init(vpWidth:Number = 800, vpHeight:Number = 800):void{
this.BuildPapervision(vpWidth, vpHeight);
this.BuildObjetcs();
this.Build3D();
this.addEventEscena();
for(var index1:String in g__field){
for(var index2:String in g__field[index1]){
this.fieldFill(g__field[index1][index2]);
}
}
trace ("empezamos");
}
public function BuildPapervision(vpWidth:Number, vpHeight:Number):void{
viewport = new Viewport3D(vpWidth, vpHeight);
addChild(viewport);
renderer = new BasicRenderEngine();
escena = new Scene3D();
camara = new Camera3D();
camara.zoom = 2;
trace("construimos la escena");
}
public function BuildObjetcs(){
var material:BitmapFileMaterial = new BitmapFileMaterial("skull.jpg");
material.oneSide = false;
var skin:Skin_mc = new Skin_mc();
skin.x=100;
skin.y=100;
this.addChild(skin);
/*var material:MovieMaterial = new MovieMaterial(Skin_mc, true, false, false);
material.oneSide = false;*/
ml = new MaterialsList();
ml.addMaterial(material,"top");
ml.addMaterial(material,"bottom");
ml.addMaterial(material,"front");
ml.addMaterial(material,"back");
ml.addMaterial(material,"left");
ml.addMaterial(material,"right");
cubo = new Cube(ml, 500, 500, 500, 4, 4, 4);
trace("construimos los objetos");
}
public function Build3D():void {
this.escena.addChild(cubo);
trace("colocamos los objetos en la escenes");
}
public function fieldFill(fill:String):void{
switch(fill){
case "0":
trace("vacio");
case "1":
trace("cesped");
break;
default:
trace("cesped");
break;
}
}
public function addEventEscena():void {
this.addEventListener(Event.ENTER_FRAME, Render);
}
public function Render(e:Event):void {
this.renderer.renderScene(escena, camara, viewport);
trace("renderizamos la escena");
}
}
}
gracias por la ayuda
