Aide - Recherche - Membres - Calendrier
Version complète : Une addition qui se passe mal...
Centre de Formation Flash - Forums Adobe Flash > Adobe Flash > Programmation Actionscript > Actionscript 3
Romanodi13
Bonjour j'ai un problème avec l'AS3...
En effet, je souhaite créer deux champs dynamiques de saisi et faire l'addition des deux dans un nouveau champ. Voici mon code, qui ne marche pas bien entendu, j'ai souhaité tout faire en script sauf le bouton "+" qui ne fait aucun effet, et le bouton "egal" qui lui donne le résultat après le clic de la souris.

Citation
// Importation de la classe permettant la gestion d'évènements
import flash.events.*;

//Création du premier champ de saisi
var premier:Shape = new Shape();
//Debut du remplissage
premier.graphics.beginFill(0x555555);
//Definition du champ
premier.graphics.lineStyle(5,0xAAAAAA);
premier.graphics.moveTo(50,50);
premier.graphics.lineTo(150,50);
premier.graphics.lineTo(150,100);
premier.graphics.lineTo(50,100);
premier.graphics.lineTo(50,50);
//Fin du remplissage
premier.graphics.endFill();
addChild(premier);

//Formatage du premier champ par défaut
var formatSimple1:TextFormat = new TextFormat();
formatSimple1.font = "Comic sans MS";
formatSimple1.size = 25;
formatSimple1.color = 0xFFFFFF;
//Définition du texte
var nombre1:TextField = new TextField();
nombre1.defaultTextFormat = formatSimple1;
nombre1.type = TextFieldType.INPUT;
nombre1.restrict = "0-9";
nombre1.width = 100;
nombre1.x=55;
nombre1.y=55;
addChild(nombre1);

//Importation de l'élément "plus" de la bibliothèque
var plus:addition = new addition();
//var Dynamique:ClipBase = new ClipBase();
addChild(plus);
plus.x=200;
plus.y=75;


//Création du deuxième champ de saisi
var deuxieme:Shape = new Shape();
//Debut du remplissage
deuxieme.graphics.beginFill(0x555555);
//Definition du champ
deuxieme.graphics.lineStyle(5,0xAAAAAA);
deuxieme.graphics.moveTo(250,50);
deuxieme.graphics.lineTo(350,50);
deuxieme.graphics.lineTo(350,100);
deuxieme.graphics.lineTo(250,100);
deuxieme.graphics.lineTo(250,50);
//Fin du remplissage
deuxieme.graphics.endFill();
addChild(deuxieme);

//Formatage du deuxième champ par défaut
var formatSimple2:TextFormat = new TextFormat();
formatSimple2.font = "Comic sans MS";
formatSimple2.size = 25;
formatSimple2.color = 0xFFFFFF;
//Définition du texte
var nombre2:TextField = new TextField();
nombre2.defaultTextFormat = formatSimple2;
nombre2.type = TextFieldType.INPUT;
nombre2.restrict = "0-9";
nombre2.width = 100;
nombre2.x=255;
nombre2.y=55;
addChild(nombre2);

//Importation de l'élément "egal" de la bibliothèque
var egal:donneresultat = new donneresultat();
//var Dynamique:ClipBase = new ClipBase();
addChild(egal);
egal.x=400;
egal.y=75;

//Création du troisième champ de saisi
var resultat:Shape = new Shape();
//Debut du remplissage
resultat.graphics.beginFill(0x555555);
//Definition
resultat.graphics.lineStyle(5,0xAAAAAA);
resultat.graphics.moveTo(450,50);
resultat.graphics.lineTo(550,50);
resultat.graphics.lineTo(550,100);
resultat.graphics.lineTo(450,100);
resultat.graphics.lineTo(450,50);
//Fin du remplissage
resultat.graphics.endFill();
addChild(resultat);


//Formatage du résultat
var formatSimple3:TextFormat = new TextFormat();
formatSimple3.font = "Comic sans MS";
formatSimple3.size = 25;
formatSimple3.color = 0xFFFFFF;
//Définition du texte
var nombreresult:TextField = new TextField();
nombreresult.defaultTextFormat = formatSimple3;
nombreresult.width = 100;
nombreresult.type = TextFieldType.DYNAMIC;
nombreresult.x=255;
nombreresult.y=55;


//Donne l'addition des deux nombres au moment du clic sur le bouton "egal"
function auClick(e:Event) {
egal.addEventListener(Event.ENTER_FRAME, donneResultat);
}
function donneResultat(e:Event):void {

nombreresult.text = nombre1.text+nombre2.text;
addChild(nombreresult);

}


Je vous remercie d'avance !
monz
Citation (Romanodi13 @ Nov 27 2008, 10:02 AM) *
Bonjour j'ai un problème avec l'AS3...
En effet, je souhaite créer deux champs dynamiques de saisi et faire l'addition des deux dans un nouveau champ. Voici mon code, qui ne marche pas bien entendu, j'ai souhaité tout faire en script sauf le bouton "+" qui ne fait aucun effet, et le bouton "egal" qui lui donne le résultat après le clic de la souris.
Je vous remercie d'avance !


Salut,

Déjà, tu ne peux pas demander à flash d'additionner des String comme s'il s'agissait de nombre.
Sinon, il va juste te mettre tes entrées nombre1 et nombre2 bout à bout.

Tu dois faire quelque chose du genre :

Action Script

function donneResultat(e:Event):void { 

nombreresult.text = (Number(nombre1)+Number(nombre2)).toString();
addChild(nombreresult);

}
armetiz
C'est pas le fort de Flash les cast implicites.. Bien pas bien ? C'est comme ça icon_razz.gif
Romanodi13
Le vrai problème maintenant c'est qu'il ne m'affiche absolument rien, pas de résultat... Et je ne vois pas où est le problème...
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.