Comunidad de diseño web y desarrollo en internet online

Suma solamente dos valores en un texto dinamico AS2.0

Citar            
MensajeEscrito el 22 Nov 2010 08:17 pm
Hola amigos, tengo una duda yo estoy haciendo una aplicacion en actionscript 2.0 y pues quiero hacer una especie de calculadora, pero mediante teclado, es decir que un objeto(cursor) se mueva como un cursor en la pantalla y al estar en contacto con el objeto(numero) marque un numero y luego cuando haga contacto con otro numero los sume automaticamente hecho eso utilizando un boton intermedio +, pero cuando hago eso me lo suma infinitamente y quiero que por ejemplo 10+5=15 y hasta ahi, pero cuando lo hago me suma 15,20,25,30..... infinitamente hasta que muevo al objeto(cursor).

aqui el codigo del cursor(puntero)

onClipEvent(enterFrame){
if(Key.isDown(Key.RIGHT))
{
this._x += 5;

}
if(Key.isDown(Key.LEFT)){
this._x -= 5;//
}
if(Key.isDown(Key.UP)){
this._y -= 5;
}
if(Key.isDown(Key.DOWN)){
this._y += 5;
}
}


y aqui el codigo del boton de un numero en mi caso 5
onClipEvent(enterFrame)
{
if(this.hitTest(_root.puntero)& Key.getAscii()==50)
{
_root.txtoper.text= 5
}

}

el codigo del boton + que sumaria los valores
onClipEvent(enterFrame)
{

if(this.hitTest(_root.puntero)& Key.getAscii()==50){
_root.valor1 = _root.txtoper.text// TXTOPER es el texto dinamico
_root.txtoper.text= ""
operacion = "+"


}
}

el codigo del otro numero en mi caso 10
onClipEvent(enterFrame)
{
if(this.hitTest(_root.puntero)& Key.getAscii()==50)
{
_root.txtoper.text = 10;

}


}

y finalmente el boton resultado que el que desplegaria en el texto dinamico el valor
onClipEvent(enterFrame)
{

if(this.hitTest(_root.puntero)& Key.getAscii()==50)
{

_root.valor2 = _root.txtoper.text
//if (_root.operacion == "+")
//{
_root.txtoper.text = int(_root.valor1)+int(_root.valor2)//SE REALIZA LA SUMA PERO INFINITAMENTE
//}

}

}

no se en donde puedo estar cometiendo el error he intentado miles de cosas y nada o me da una valor NaN o me los suma infinitamente y pues solo quiero que haga la suma de valores una vez 10+5=15 y listo por favor espero puedan ayudarme.

Gracias de Antemano.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 22 Nov 2010 10:53 pm
hola, el error es que tu tienes la acción en un enterframe eso quiere decir que cuando pase un frame la película se cumulara la acción
por ej su tu quieres que solo se cumpla una ves la con podrías poner algo como

Código ActionScript :

onClipEvent(enterFrame)
{
if(this.hitTest(_root.puntero)& Key.getAscii()==50 & (no_repetir))
{
no_repetir=true
_root.valor2 = _root.txtoper.text
else (no_repetir=false)
}}
//igual no te recomiendo que usas listeners para detectar los movimientos y demás es mas practico para tu caso

pd:Usa etiquetas para los script queda mas prolijo

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox

 

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