Foros del Web » Creando para Internet » Flash y Actionscript »

Problema con un bucle while.

Estas en el tema de Problema con un bucle while. en el foro de Flash y Actionscript en Foros del Web. Eso, tengo un problema que me vuelve loco: Bueno, lo que me pasa es que, hago un bucle, la condicion es si un numero es ...
  #1 (permalink)  
Antiguo 09/10/2006, 14:41
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 18 años
Puntos: 0
Problema con un bucle while.

Eso, tengo un problema que me vuelve loco:

Bueno, lo que me pasa es que, hago un bucle, la condicion es si un numero es menor que otro, pero el bucle nunca termina y se me bloquea porque la suma para que deje de ser menor (la resta es la sentencia) me da NaN (Not a Number) :( . Alguien me puede ayudar? no es nada importante pero estoy aprendiendo :)

Edito: Flash Professional 8 (ActionScript 2.0).
Edito:
El codigo del fotograma en la raiz:
Código:
ficha._x = 1000;
calcular._visible = false;
_root.onEnterFrame = function() {
			
	if (ficha._x>275) {
		ficha._x -= 5;
	} else {
		calcular._visible = true;
	}
};
y el codigo de un boton:

Código:
on (release) {
	with (ficha) {
		while (numero<cantidad) {
			vqe+1;
			total+cantidad;
			trace (numero-cantidad)
		}
	}
}
creo que seria mejor si les mando: [email protected]

Última edición por Ramispain; 09/10/2006 a las 15:08 Razón: Error
  #2 (permalink)  
Antiguo 09/10/2006, 15:01
 
Fecha de Ingreso: septiembre-2006
Mensajes: 1.193
Antigüedad: 17 años, 7 meses
Puntos: 30
esto funciona

//Comprobacion de numeros
var numero_uno:Number = 1;
var numero_dos:Number = 2;
var respuesta:String;
var respuesta = (numero_uno>numero_dos) ? "si" : "no";// condicion
trace(respuesta);
  #3 (permalink)  
Antiguo 09/10/2006, 15:12
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 18 años
Puntos: 0
pero no es eso lo que me pasa, el bucle y todo lo demas anda bien pero...una resta me da NaN (Non a Number) cantidad y numero (las variables) son cuadros de textos, pero no me toma el numero :S me toma esto:
<TEXTFORMAT LEADING="2"><P ALIGN="LEFT"><FONT FACE="Times New Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0">1024</FONT></P></TEXTFORMAT>
  #4 (permalink)  
Antiguo 09/10/2006, 15:18
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 18 años
Puntos: 0
uy perdon. ya entendi lo que me dijiste,gracias, voy a probar
  #5 (permalink)  
Antiguo 09/10/2006, 15:21
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 18 años
Puntos: 0
tampoco, va a ser mejor que lo veas: [email protected]
  #6 (permalink)  
Antiguo 09/10/2006, 16:46
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 18 años
Puntos: 0
ayudenme plis
  #7 (permalink)  
Antiguo 09/10/2006, 17:19
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Hola Ramispain!

Si te arroja el error "not a number", donde esta declarada tu variable "numero", es de tipo Number?, en la condición del bucle while, yo no veo que nunca sea falsa esa condición, en ningún punto la modificas para romperla.

Un saludo!
  #8 (permalink)  
Antiguo 09/10/2006, 17:35
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 18 años
Puntos: 0
es un problema que no esta muy facil...y todavia no encuentro la forma de hacer que se de cuenta que quiero que devuelva el valor de la resta
  #9 (permalink)  
Antiguo 10/10/2006, 06:32
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 18 años
Puntos: 0
uy uy uy, tenes razon, yo solo lo trazo, pero igual da NaN
  #10 (permalink)  
Antiguo 10/10/2006, 06:57
 
Fecha de Ingreso: octubre-2006
Mensajes: 20
Antigüedad: 17 años, 6 meses
Puntos: 0
No estoy seguro, pero yo siempre he sumado las variables con asignación...

Si quieres añadir el valor de la variable2 a la variable1
Código:
variable1+=variable2;
Si quieres añadir el valor de la variable1 a la variable2
Código:
variable2+=variable1;
Tú en tu código escribes algo así como:

Cita:
variable1+variable2; // total+cantidad;
Creo que deberías poner:
Código:
cantidad+=total;
Así la variable cantidad iría aumentando progresivamente.

Espero que sea eso,

Saludos,
Flick.
  #11 (permalink)  
Antiguo 10/10/2006, 08:15
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 18 años
Puntos: 0
lo que pasa es que...las variables cantidad y numero son cuadros de textos,pero no me toma el numero de lo que esta escrito, me toma un codigo y una resta de un codigo y otro no puede ser un numero
  #12 (permalink)  
Antiguo 10/10/2006, 15:57
 
Fecha de Ingreso: octubre-2006
Mensajes: 20
Antigüedad: 17 años, 6 meses
Puntos: 0
Si son cuadros de texto, en ese caso, lo único que tienes que hacer es "castearlos" del siguiente modo:

Código:
Number(cantidad.text)+=Number(total.text);
Eso debería solucionarlo... espero.


Saludos,
Flick.
  #13 (permalink)  
Antiguo 11/10/2006, 13:54
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 18 años
Puntos: 0
**Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 9: El margen izquierdo del operador de asignación debe ser una variable o propiedad.
Number(cantidadn.text)+=Number(totaln.text);

Total de errores de ActionScript: 1 Errores comunicados: 1

enseguida pienso...
  #14 (permalink)  
Antiguo 12/10/2006, 12:06
 
Fecha de Ingreso: octubre-2006
Mensajes: 20
Antigüedad: 17 años, 6 meses
Puntos: 0
Es importante que pongas el bucle correctamente, porque al principio hablabas de las variables cantidad y total, y ahora cantidadn y totaln

¿Es cantidadn una instancia o un objeto TextBox? Si en realidad es sólo una variable, no tienes que indicar el .text (ya que .text es una propiedad del objeto cuadro de texto, que te dice lo que hay dentro)

Suerte.

Saludos,
Flick.
  #15 (permalink)  
Antiguo 12/10/2006, 12:58
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 18 años
Puntos: 0
lo que pasa esk que hago numeros (Number) que se llamen lo mismo con una n en el final, y si, es un textbox
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:15.