Comunidad de diseño web y desarrollo en internet online

(AS3) - Variable que recoge números

Citar            
MensajeEscrito el 11 Jun 2011 09:59 pm
Hola!
Estoy leyendo un libro de actionscript 3 para flash y he querido hacer una cosa pequeña para ir practicando. Pero ya me he quedado estancada.
Os comento lo que quiero hacer:

Tengo en el escenario:
Botón -> Nombre de instacia "rotamos".
Clip de película -> Nombre de instancia "carita" (es la cara de un monigote).
Caja de texto -> Nombre de instancia "nangulo".

Representa que al poner un número en la caja de texto y clicar en el botón, el clip gira.
En la realidad no se guarda el valor para dar el giro.

El código que puse fué:

Código ActionScript :

var nangulo:TextField=new TextField();
//La caja de texto es de introduccion de texto.
nangulo.type=TextFieldType.INPUT;
//Restrinjo el campo de texto a números.
nangulo.restrict = "0-9";
//Indico un máximo de caracteres.
nangulo.maxChars=3;
//Le doy las coordenadas.
nangulo.y=54;
nangulo.x=107;
//Añado el campo de texto al escenario.
addChild(nangulo);
//Compruebo la variable.
trace (nangulo);
//Creo la función para el botón que está esperando una acción.
function rotaciones(evento:Event):void
{
   if (nangulo<=360){
   carita.rotation=nangulo;
   }
   else trace ("Escriba un número entre 1 y 360");
}
//Le digo al boton que cuando sienta el click haga lo que dice la funcion.
rotamos.addEventListener(MouseEvent.CLICK,rotaciones);


He probado a crear una nueva variable, hacerla numerica y darle el valor de la de la caja, pero no me funciona.

Código ActionScript :

//Creo una variable numerica que recoja el numero de la caja de texto
var nannum = Number(nangulo);
trace (nannum);
trace (nangulo);
//Creo la función para el botón que está esperando una acción.
function rotaciones(evento:Event):void
{

   if (nannum<=360){
   carita.rotation=nannum;
   }
   else trace ("Escriba un número entre 1 y 360");
}


No sé xq no me reconoce los numeros :-(

Por Fralis

1 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 13 Jun 2011 08:54 pm
No estas leyendo el contenido de la caja, para eso utiliza su propiedad text

Código ActionScript :

if (nangulo<=360){ 
   carita.rotation = Number(nangulo.text); 
   } 

También hay que hacer una conversión explicita del tipo de datos que recibe la caja (String) a un valor numérico, puede ser Number, int o uint.

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

chrome
Citar            
MensajeEscrito el 22 Jun 2011 09:37 am
No me sale :-(
Seguiré buscando a ver si doy con el problema/error y comento.
Gracias!

Por Fralis

1 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 22 Jun 2011 06:14 pm
emm también en la comparación hay que leer la caja, de hecho estas asignando el valor fuera de la función....

Código ActionScript :

var nannum:Number;
function rotaciones(evento:Event):void 
{ 
   nannum = Number(nangulo.text);
   if (nannum<=360){ 
   carita.rotation=nannum; 
   } 
   else trace ("Escriba un número entre 1 y 360"); 
} 

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

chrome
Citar            
MensajeEscrito el 22 Jun 2011 11:34 pm
Siiii!!! Gracias!!! Ahora podré seguir estudiando :-D Esto me tenia loca ya.
Voy a tomar nota de lo que me has dicho para que no vuelva a pasarme.

Gracias de nuevo!

Por Fralis

1 de clabLevel



Genero:Femenino  

firefox

 

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