bueno me a surgido un problema nuevo.
Cuando publico en flash cuando le doy probar pelicula, la corre bien,
el esenario esta asosiado a la clase internalMap.
intento crear un objeto de clase Npc
es decir Variable:Npc = new Npc(1,0,0,"Nombre_Npc",1);
y en flash sale todo bien
sin embargo cuando subo todo a mi web,
no se crean estos "Npc"
tengo un objeto llamado mainMap:MainMap = new MainMap();
y este si aparece.
bueno, les dejo el codigo de
internalMap: (al final del codigo esta el creador de los Npc la variable chuy);
Código ActionScript :
package { import flash.display.MovieClip; import flash.events.*; import flash.net.*; import flash.text.*; import flash.utils.Timer; public class internalMap extends MovieClip { var npc:Array; var _textoPrecarga:TextField; private var _mainMap:MainMap; //Comienzan los Temporisadores... var _timerIniMap:Timer = new Timer(3000,9); //iniMap(); public function internalMap() { stop(); loaderInfo.addEventListener(ProgressEvent.PROGRESS, cargandoAplicacion); loaderInfo.addEventListener(Event.COMPLETE, cargaCompleta); loaderInfo.addEventListener(Event.INIT, inicioCarga); } private function inicioCarga(e:Event):void { _textoPrecarga = new TextField(); _textoPrecarga.autoSize = TextFieldAutoSize.LEFT; _textoPrecarga.text = "0 %"; _textoPrecarga.textColor = 0xFFFFFF; _textoPrecarga.x = 100; _textoPrecarga.y = 100; addChild(_textoPrecarga); } private function cargaCompleta(e:Event):void { removeChild(_textoPrecarga); gotoAndStop('2'); //Inicializamos ini(); _timerIniMap.addEventListener(TimerEvent.TIMER, iniMap); _timerIniMap.start(); _mainMap = new MainMap(); _mainMap.x = 50; _mainMap.y = 50; _mainMap.name = "mainMap"; addChild(_mainMap); _mainMap.addEventListener(Event.ENTER_FRAME, bn); function bn(e:Event):void { e.target.x=e.target.x-2; e.target.y=e.target.y-2; } } private function cargandoAplicacion(e:ProgressEvent):void { var cargando:Number = ((e.bytesLoaded*100)/e.bytesLoaded); _textoPrecarga.text = cargando.toString() + " %"; } private function iniMap(e:TimerEvent):void { //Ya que usaremos un botón para enviar los datos al PHP, tenemos que crear una función con todo lo que queremos que pase cuando se presione ese botón.. es decir.. el envío de datos y la reacción a su recibimiento var requeste:URLRequest = new URLRequest("http://localhost/Marinef/play/flash/mapInterfaceServer.php"); // le informamos al flash la url del archivo con el cual trabajaremos // VARIABLES //aquí guardaremos todas las variables que deseamos enviarle al php y les daremos valor var variables:URLVariables = new URLVariables(); // creamos una instancia de variables (algo como un array) llamado variables variables.vc = "si"; // creamos una variable con el contenido del campo de texto de input // AQUÍ preparamos todos los aspectos antes de enviar los datos para que no nos dé ningún error requeste.method = URLRequestMethod.POST; // le decimos que el método es post (es decir de enviar los datos) requeste.data = variables; // le decimos que la data que enviaremos son las variables previamente creadas // Preparamos el flash para recibir la respuesta del PHP var loader:URLLoader = new URLLoader(); // creamos el loader loader.dataFormat = URLLoaderDataFormat.VARIABLES; // le decimos que el tipo de información recibida será vista en variables loader.addEventListener(Event.COMPLETE, onLoaded); // agregamos un EventListener .. cuando el evento termine (es decir, cuando cargue la página, se ejecutará la función llamada onLoaded loader.load(requeste); // cargamos la página var r1:Number = Math.random() * 500; var r2:Number = Math.random() * 500; // Esto es lo que pasará cuando cargue.. function onLoaded(e:Event):void { // creamos la función con el evento y lo llamamos e var vars:URLVariables = new URLVariables(e.target.data); // creamos un array de variables con todas las variables en el php trace(vars['devuelto']); var chuy:Npc = new Npc(1215,r1,r2,"Kurck",1); chuy.x = r1; chuy.y = r2; _mainMap.addChild(chuy); } } } }
y este es el codigo de Npc:
Código ActionScript :
package { import flash.display.MovieClip; import flash.events.Event; import flash.text.*; import flash.display.Stage; public class Npc extends MovieClip { public var life:Number; public var pos_x:Number; public var pos_y:Number; public var rute:Number; public var iniRuteTime:Number; private var speed:Number = 2; private var posRuteX:Number; private var posRuteY:Number; private var corx:Number; private var cory:Number; private var new_x:Number; private var new_y:Number; private var contenedor2:MovieClip = new MovieClip(); private var contenedor:MovieClip = new MovieClip(); private var name_txt:TextField = new TextField(); public function Npc(fLife:Number,fPosx:Number,fPosy:Number,fName:String,fTileSet:Number) { life = 1250; pos_x = 50; pos_y = 50; rute = 1; iniRuteTime = 0; contenedor = new tileSet1(); contenedor.x=-50; contenedor.y=-50; contenedor.stop(); this.addChild(contenedor); name_txt.text=fName; name_txt.type=TextFieldType.DYNAMIC; name_txt.width=120; name_txt.height=16; name_txt.x=-10; name_txt.y=100; name_txt.textColor = 0xFFFFFF; this.addChild(name_txt); this.addEventListener(Event.ENTER_FRAME, actStatus); } private function actStatus(e:Event):void { if(rute == 1){ posRuteX=100;posRuteY=100; } if(rute == 2){ posRuteX=250;posRuteY=500; } if(rute == 3){ posRuteX=500;posRuteY=300; } new_x = posRuteX-this.x; new_y = posRuteY-this.y; var absX:Number=Number(new_x.toString().split('-').join(''));var absY:Number=Number(new_y.toString().split('-').join('')); if(absX<=speed && absY<=speed){ if(rute!=3){rute++;}else{rute=1;} } if(new_x>=0){ corx=speed; }else{ corx = 0-speed; } if(new_y>=0){ cory=speed; }else{ cory = 0-speed; } if(corx < 0 && cory < 0){ this.contenedor.gotoAndStop('4'); } if(corx >= 0 && cory < 0){ this.contenedor.gotoAndStop('3'); } if(corx >= 0 && cory >= 0){ this.contenedor.gotoAndStop('2'); } if(corx < 0 && cory >= 0){ this.contenedor.gotoAndStop('1'); } this.x = this.x+corx; this.y= this.y+cory; } } }
Otro problema que tengo es que los textos que pongo en mi swf no aparecen...
ni aunque los ponga directo e el esenario, ni aunque los agregue en as3.
debo aclarar tmb que en el SWF
las capas estan distribuidad asi:
Capa4
Capa3
Capa2(Tipo:Máscara)
Capa1(Tipo:ConMascará)
No se si eso tenga algo que ver. ojala me ayuden que me estoy atorando mucho en esto.
si es nesesario subiré los archivos y ustedes los descargan.esta es la direccion:
Descargar Archivos
por favor ayudenme en esto s: