Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS1/AS2
AS1/AS2 Questions relatives à la programmation ActionScript 1 et 2 (Cours AS2)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/10/2007, 10h57   #1
Membre du Club
 
Inscription : mai 2002
Messages : 190
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 190
Points : 54
Points : 54
Par défaut boucle while et undefined

Bonjour,

Je continue mon projet Flash et j'ai quelques soucis avec des variables tableau.
Voilà mon utilisateur choisi un projet (projet[0]) et un certain nombre de choix (choix[0][0], choix[0][1]...) à l'aide de cases à cocher (là encore je ne sais pas comment je vais récupérer les choix cochés, mais c'est un autre problème).
Ensuite il peut soit valider son projet, soit le compléter en choisissant un 2e projet (projet[1]) avec d'autres choix (choix[1][0], choix[1][1]...)
Puis valider ou compléter etc... si bien que le nombre de projets et de choix n'est pas connu.
Ensuite je veux afficher le bilan de son/ses projet(s), donc tant que projet[i] ne vaut pas "undefined". Je ne connais pas vraiment AS, j'essaye de me débrouiller d'après les langages que je connais et les infos sur le net.
Sauf que ça ne marche pas...
Code :
1
2
3
4
5
6
var i=0;
while(projet[i]!="undefined"){
	var projets=projets + " - " + projet[i];
	i++;
}
bilan.text=projets;
J'ai également essayé :
Code :
1
2
3
4
5
6
var i=0;
while(isset(projet[i])){
	var projets=projets + " - " + projet[i];
	i++;
}
bilan.text=projets;
Mais il m'affiche undefined !

Et j'aimerais bien afficher le résultat ainsi (faire un retour à la ligne):
Projet 1
-choix 1
-choix 2
Projet2
-choix 1
- choix 2

Et bien-entendu que ma zone de texte dynamique dispose d'un scrollbar si nécessaire....
LadyArwen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 11h20   #2
Rédacteur
 
Avatar de The_Pretender
 
Homme Matthieu DELOISON
Formateur ActionScript Flash
Inscription : juin 2004
Messages : 645
Détails du profil
Informations personnelles :
Nom : Homme Matthieu DELOISON
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Formateur ActionScript Flash
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : juin 2004
Messages : 645
Points : 3 673
Points : 3 673
Bonjour,

Si tu veux que ton texte dispose d'une scrollbar en fonction de la taille du texte, tu devras développer les classes nécessaires ou utiliser un framework AS2 tout prêt (fais une recherche sur google, il y en a plein).

Essaye avec ce code :
Code :
1
2
3
4
5
6
7
8
 
var i=0;
var projets:String = "";
for(var i:Number=0; i<projet.length; i++)
{
	if( projet[i]!="undefined" && projet[i]!=undefined ) projets+= " - " + projet[i];
}
bilan.text=projets;
__________________
Découvrez : Tutoriels, ressources AS2 et AS3
La Méthode AS3 Facile pour développer des applications et jeux Flash en ActionScript 3 : ActionScript-Facile.com
The_Pretender est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 16h01   #3
Membre du Club
 
Inscription : mai 2002
Messages : 190
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 190
Points : 54
Points : 54
Oui ça à l'air de marcher merci, je ne pensais pas pouvoir faire appel à la propriété length en fait ! Ca va me servir pour les choix aussi (check box).

Il n'y a pas d'équivalent du \n en PHP pour faire un retour à la ligne ?
LadyArwen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2007, 09h37   #4
Membre du Club
 
Inscription : mai 2002
Messages : 190
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 190
Points : 54
Points : 54
J'ai trouvé une parade pour la mise en forme de mon texte, en le remplaçant par un textArea contenant du HTML :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// style du TextArea, activation du HTML
var my_styles = new TextField.StyleSheet();
my_styles.setStyle("p", {fontFamily:'Lucida Sans Unicode', fontSize:'12px', color:'#FFFFFF'});
bilan.setStyle( "backgroundColor", '#103C84');
bilan.styleSheet = my_styles;
bilan.html = true;
 
//récupération des projets
var i=0;
var projets:String = "";
for(i=0; i<projet.length; i++)
{
	if( projet[i]!="undefined" && projet[i]!=undefined ) projets+= "- " + projet[i] + "<br/>";
}
bilan.text=projets;
Par contre les styles ne passent pas, mon textArea reste définitivement blanc, avec un texte en Arial noir, alors que je le veux bleu écrit blanc...

Edition:
J'ai trouvé comment changer l'arrière-plan :
Code :
_global.styles.TextArea.backgroundColor = undefined;
Mais il me reste la police en noir et une affreuse bordure....


-----------------------------------------------------------

En parallèle je me suis attaquée à la récupération des choix (checkbox)
Au lieu d'aller à l'image suivante, j'ai remplacé l'action par une zone de texte qui vérifie mes variables. p et c ont bien les bonnes valeurs, mais lorsque j'affiche choix[0][0], j'ai "undefined" comme résultat alors que je devrais avoir l'une des 4 propositions...
Citation:
var c=0;
choix[p] = new Array();
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
on(press){
	//récupérer les choix faits pour le projet p dans choix
	if (choix1.selected==true) {
		choix[p][c]="Avoir le diplôme du niveau requis pour pouvoir vous présenter à un concours de la fonction publique";
		c++;
	}
	if (choix2.selected==true) {
		choix[p][c]="Etre habilité/e à enseigner";
		c++;
	}
	if (choix3.selected==true) {
		choix[p][c]="Répondre aux projets de votre entreprise";
		c++;
	}
	if (choix4.selected==true) {
		choix[p][c]="Vous reconvertir, changer d’activité";
		c++;
	}
}
 
on(release) {
	//gotoAndStop(10);
	nbprojets.text=p;
	c--;
	nbchoix.text=c;
	lbchoix.text=choix[0][0];
}
Si j'utilise un tableau à 1 dimension pour choix ça fonctionne mais j'ai besoin de 2 dimensions pour que les choix soient rattachés à leur projet respectif...

NB. p est incrémenté sur l'image 10 lorsque l'utilisateur choisit de compléter son projet par une autre proposition ou détruit et réinitialisé à 0 s'il veut recommencer son parcours.
LadyArwen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2007, 15h20   #5
Membre du Club
 
Inscription : mai 2002
Messages : 190
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 190
Points : 54
Points : 54
Bon je commence un nouveau sujet pour ce dernier point parce qu'on parle de bien trop de choses différentes dans celui-là.

A noter que de mettre une liste à puce à la place du paragraphe m'a permis d'avoir enfin du Lucida en blanc, mais il me reste la bordure du textarea dont je n'arrive pas à me débarrasser.
LadyArwen est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h40.


 
 
 
 
Partenaires

Hébergement Web