Comunidad de diseño web y desarrollo en internet online

Error #2007 en AS3

Citar            
MensajeEscrito el 12 Abr 2013 06:43 pm
necesito solucionar este error que me aparece cuando ejecuto mi programa en flash, todo va bien hasta que en determinando momento aparece ese error, el programa sigue funcionando bien pero el error siempre aparece.

TypeError: Error #2007: Parameter text must be non-null.
at flash.text::TextField/set text()
at VERBOSflash_fla::MainTimeline/nuevoVerbo()
at VERBOSflash_fla::MainTimeline/xmlLoaded()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()


Código ActionScript :

var minimonumero:Number = 0;
var mayornumero:Number = 10;
var aleatorio:Number = randRange(0,10);
   
   function randRange(minimonumero:Number, mayornumero:Number):Number 
   {
      return (Math.floor(Math.random() * (mayornumero - minimonumero + 1)) + minimonumero);
   }
   
   var bien:Number = 0;
   var mal:Number = 0;
function actualizar(resultado:String):void{
   
   if(resultado == "bien"){
      bien = bien +1;
      buenas.text = bien.toString();
   }
   if(resultado == "mal"){
      mal = mal + 1;
      malas.text = mal.toString();
   }
}

var miXML:URLRequest = new URLRequest('verbos.xml');
var myLoader:URLLoader = new URLLoader(miXML);

var verbosirregulares:Array = new Array();
var verbosirregularespast:Array = new Array();
   
myLoader.addEventListener(Event.COMPLETE, xmlLoaded);
      
function xmlLoaded(e:Event):void {
   
   var xml:XML = new XML(myLoader.data);
   var i:Number;
   
   for(i=0; i<10; i++){
      verbosirregulares.push(xml.child(0).irregulares.verb[i]);
      verbosirregularespast.push(xml.child(0).irregulares.past[i]);
   }
   
   nuevoVerbo();
}
botonCheck.addEventListener(MouseEvent.CLICK, checar);

function checar(e:MouseEvent):void{

   if(introducirVerbo.text == verbosirregularespast[aleatorio]){
      nuevoVerbo();
      introducirVerbo.text = "";
      actualizar("bien");

   }else{
      nuevoVerbo();
      introducirVerbo.text = "";
      actualizar("mal");
   }
}
function nuevoVerbo():void{
   aleatorio = randRange(0,10);
   verVerbo.text = verbosirregulares[aleatorio];
}

Código XML :

<examen>
<verbos>

   <regulares>
      
   </regulares>

   <irregulares>
      <verb>write</verb>
      <verb>win</verb>
      <verb>wake</verb>
      <verb>teach</verb>
      <verb>spend</verb>
      <verb>show</verb>
      <verb>ring</verb>
      <verb>take</verb>
      <verb>pay</verb>
      <verb>meet</verb>
      
      <past>wrote</past>
      <past>won</past>
      <past>woke</past>
      <past>taugh</past>
      <past>spent</past>
      <past>showed</past>
      <past>rang</past>
      <past>took</past>
      <past>paid</past>
      <past>met</past>
      
   </irregulares>

</verbos>
</examen>

Por antoniocossio

5 de clabLevel



 

safari
Citar            
MensajeEscrito el 14 Abr 2013 02:18 am
Si tienes 10 numeros, el rango es de 0 a 9, el error lo da cuando randrange da 10, ya que el elemento no existe

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 14 Abr 2013 06:07 am
quedaria de la siguiente manera, pero me sigue arrojando un error similar

TypeError: Error #2007: Parameter text must be non-null.
at flash.text::TextField/set text()
at VERBOSflash_fla::MainTimeline/nuevoVerbo()
at VERBOSflash_fla::MainTimeline/checar()


Código ActionScript :

var minimonumero:Number = 0;
var mayornumero:Number = 9;
var aleatorio:Number = randRange(0,9);
   
   function randRange(minimonumero:Number, mayornumero:Number):Number 
   {
      return (Math.floor(Math.random() * (mayornumero - minimonumero + 1)) + minimonumero);
   }
   
   var bien:Number = 0;
   var mal:Number = 0;
function actualizar(resultado:String):void{
   
   if(resultado == "bien"){
      bien = bien +1;
      buenas.text = bien.toString();
   }
   if(resultado == "mal"){
      mal = mal + 1;
      malas.text = mal.toString();
   }
}

var miXML:URLRequest = new URLRequest('verbos.xml');
var myLoader:URLLoader = new URLLoader(miXML);

var verbosirregulares:Array = new Array();
var verbosirregularespast:Array = new Array();
   
myLoader.addEventListener(Event.COMPLETE, xmlLoaded);
      
function xmlLoaded(e:Event):void {
   
   var xml:XML = new XML(myLoader.data);
   var i:Number;
   
   for(i=0; i<9; i++){
      verbosirregulares.push(xml.child(0).irregulares.verb[i]);
      verbosirregularespast.push(xml.child(0).irregulares.past[i]);
   }
   
   nuevoVerbo();
}
botonCheck.addEventListener(MouseEvent.CLICK, checar);

function checar(e:MouseEvent):void{

   if(introducirVerbo.text == verbosirregularespast[aleatorio]){
      nuevoVerbo();
      introducirVerbo.text = "";
      actualizar("bien");

   }else{
      nuevoVerbo();
      introducirVerbo.text = "";
      actualizar("mal");
   }
}
function nuevoVerbo():void{
   aleatorio = randRange(0,9);
   verVerbo.text = verbosirregulares[aleatorio];
}

Por antoniocossio

5 de clabLevel



 

safari
Citar            
MensajeEscrito el 14 Abr 2013 06:25 am
Trazalo a ver si no está vacío o indefinido

trace("Verbo es "+verbosirregulares[aleatorio])
verVerbo.text = verbosirregulares[aleatorio];

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 14 Abr 2013 08:58 am
Verbo es wake
Verbo es pay
Verbo es teach
Verbo es wake
Verbo es win
Verbo es undefined
TypeError: Error #2007: Parameter text must be non-null.
at flash.text::TextField/set text()
at VERBOSflash_fla::MainTimeline/nuevoVerbo()
at VERBOSflash_fla::MainTimeline/xmlLoaded()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()

Por antoniocossio

5 de clabLevel



 

safari
Citar            
MensajeEscrito el 14 Abr 2013 01:47 pm
Ahi lo tienes, estas asignando uno que no existe

trace("Verbo es "+verbosirregulares[aleatorio]+" en el indice "+aleatorio)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 14 Abr 2013 04:08 pm
Verbo es write en el indice 0
Verbo es take en el indice 7
Verbo es wake en el indice 2
Verbo es win en el indice 1
Verbo es ring en el indice 6
Verbo es show en el indice 5
Verbo es ring en el indice 6
Verbo es undefined en el indice 9
TypeError: Error #2007: Parameter text must be non-null.
at flash.text::TextField/set text()
at VERBOSflash_fla::MainTimeline/nuevoVerbo()
at VERBOSflash_fla::MainTimeline/xmlLoaded()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()

Por antoniocossio

5 de clabLevel



 

safari
Citar            
MensajeEscrito el 14 Abr 2013 11:32 pm
Ok, reduce en uno el rango, entre 0 y 8

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Abr 2013 03:23 am
resuelto muchas gracias :D

Por antoniocossio

5 de clabLevel



 

safari

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.