Código :
stop(); //***************************************************** //0º- Inizializar variables //***************************************************** /* Operandos */ var a; var b; var c; // Operaciones var Operando = 0; /* Suma=1; Resta=2; Multiplicación=3; División = 4 */ var OperaciónSC = false; var OperaciónSC2 = false; var OperaciónC = false; var Operación_Completa = false; var OOC = false; Texto.restrict = "0-9 ."; Texto.maxChars = 15; //**************************************************** //1º- Programa //**************************************************** this.onEnterFrame = function() { Cálculo.call(); if (OperaciónSC == true) { OperaciónSemiCompleta.call(); } if (OperaciónSC2 == true) { OperaciónSemiCompleta2.call(); } if (Operación_Completa == true) { Operación.call(); } if (OOC) { Completa.call(); } }; //***************************************************** //2º- Funciones //***************************************************** /* 1º- Cálculo */ Cálculo = function () { if (Operando == 0) { if (Key.isDown(107)) { Operando = 1; } if (Key.isDown(109)) { Operando = 2; } if (Key.isDown(106)) { Operando = 3; } if (Key.isDown(111)) { Operando = 4; } if (Operando != 0) { OperaciónSC = true; } } }; /* 2º-Operación Semi Completa 1 y 2 */ OperaciónSemiCompleta = function () { if(OperaciónSC == true){ a = Texto.text; Texto.text = ""; OperaciónSC = false; OperaciónSC2 = true; } }; OperaciónSemiCompleta2 = function () { if (Key.isDown(Key.ENTER)) { OperaciónC = true; b = Texto.text; Texto.text = ""; Operación_Completa = true; OperaciónSC2 = false; } }; Operación = function () { if (Operando == 1) { c = a += b; // AQUÍ ESTÁ EL PROBLEMA (CREO) Operando = 0; Texto.text = c; } if (Operando == 2) { c = a -= b; Operando = 0; Texto.text = c; } if (Operando == 3) { c = a*= b; Operando = 0; Texto.text = c; } if (Operando == 4) { c = a /= b; Operando = 0; Texto.text = c; } if(Operando == 0){ OOC = true; } }; Completa = function () { Texto.text = c; OOC = false; OperaciónSC = false; Operación_Completa = false; Operando = 0; };
Bueno, ese es el problema, depende de la tecla de operación que pulsas cambia una variable (Operando) que después determina que tiene que hacer con a y b para dar c (El resultado vamos), y me funciona perfectamente con todas las operaciones menos con la suma. Al parecer no suma a y b, si no que pone primero a y luego la b, con lo que si sumas 2 y 2 tendras dos preciosos patitos (Como en el colegio )
¿En qué falla? ¿Qué debería poner para que sumara a y b?