Salut ? tous,
je suis d?butant en ActionScript et j'ai un probl?me sur un code que je crois
a priori tr?s simple. Voila de quoi il s'agit :
Je veux afficher automatiquement n clips texte (4 en l'occurence) ? i*10 point
d'intervales en y. Vous me suivez ? Voila le code que j'ai pondu mais rien ne
s'affiche. Qqun saurait-il m'expliquer pourquoi ?
n=4
menu=;
for (var i=0; i<=n; i++){
var titre = this.createTextField("titre"+i,i,100,10*i,300,100);
titre.text = menu;
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ekameleon
Hello :)
Tu es sur flash8 ou pas ? :) car tu peux pas récupérer de référence vers un champ de texte dynamique créé via createTextField si tu n'est pas sur Flash8 et si tu ne compiles pas pour le FP8 :)
Sinon pour être certain que tout fonctionne je te conseille de taper :
var n = 4 ;
var menu = "un texte" ; // tu aurais pas oublié de mettre une valeur à ta variable ?
for (var i=0; i<=n; i++){ this.createTextField("titre"+i,i,100,10*i,300,100); var titre = this["titre"+i] ; // marche sur tout Flash Player depuis le 6 titre.text = menu + i ; titre.border = true ; // petit test pour bien afficher le champ de texte dans tous les cas. }
EKA+ :)
SaluCseb a écrit :
Salut ? tous, je suis d?butant en ActionScript et j'ai un probl?me sur un code que je crois a priori tr?s simple. Voila de quoi il s'agit : Je veux afficher automatiquement n clips texte (4 en l'occurence) ? i*10 point d'intervales en y. Vous me suivez ? Voila le code que j'ai pondu mais rien ne s'affiche. Qqun saurait-il m'expliquer pourquoi ?
n=4 menu=; for (var i=0; i<=n; i++){ var titre = this.createTextField("titre"+i,i,100,10*i,300,100); titre.text = menu; }
Merci pour votre aide !
Hello :)
Tu es sur flash8 ou pas ? :) car tu peux pas récupérer de référence vers
un champ de texte dynamique créé via createTextField si tu n'est pas sur
Flash8 et si tu ne compiles pas pour le FP8 :)
Sinon pour être certain que tout fonctionne je te conseille de taper :
var n = 4 ;
var menu = "un texte" ; // tu aurais pas oublié de mettre une valeur à
ta variable ?
for (var i=0; i<=n; i++){
this.createTextField("titre"+i,i,100,10*i,300,100);
var titre = this["titre"+i] ; // marche sur tout Flash Player depuis
le 6
titre.text = menu + i ;
titre.border = true ; // petit test pour bien afficher le champ de
texte dans tous les cas.
}
EKA+ :)
SaluCseb a écrit :
Salut ? tous,
je suis d?butant en ActionScript et j'ai un probl?me sur un code que je crois
a priori tr?s simple. Voila de quoi il s'agit :
Je veux afficher automatiquement n clips texte (4 en l'occurence) ? i*10 point
d'intervales en y. Vous me suivez ? Voila le code que j'ai pondu mais rien ne
s'affiche. Qqun saurait-il m'expliquer pourquoi ?
n=4
menu=;
for (var i=0; i<=n; i++){
var titre = this.createTextField("titre"+i,i,100,10*i,300,100);
titre.text = menu;
}
Tu es sur flash8 ou pas ? :) car tu peux pas récupérer de référence vers un champ de texte dynamique créé via createTextField si tu n'est pas sur Flash8 et si tu ne compiles pas pour le FP8 :)
Sinon pour être certain que tout fonctionne je te conseille de taper :
var n = 4 ;
var menu = "un texte" ; // tu aurais pas oublié de mettre une valeur à ta variable ?
for (var i=0; i<=n; i++){ this.createTextField("titre"+i,i,100,10*i,300,100); var titre = this["titre"+i] ; // marche sur tout Flash Player depuis le 6 titre.text = menu + i ; titre.border = true ; // petit test pour bien afficher le champ de texte dans tous les cas. }
EKA+ :)
SaluCseb a écrit :
Salut ? tous, je suis d?butant en ActionScript et j'ai un probl?me sur un code que je crois a priori tr?s simple. Voila de quoi il s'agit : Je veux afficher automatiquement n clips texte (4 en l'occurence) ? i*10 point d'intervales en y. Vous me suivez ? Voila le code que j'ai pondu mais rien ne s'affiche. Qqun saurait-il m'expliquer pourquoi ?
n=4 menu=; for (var i=0; i<=n; i++){ var titre = this.createTextField("titre"+i,i,100,10*i,300,100); titre.text = menu; }
Merci pour votre aide !
SaluCseb
Salut kameleon, merci beaucoup pour ta r?ponse. En effet je n'utilise pas Flash8 et je pr?f?re compiler pour des versions ant?rieures ?FP8, pour de plus gdes chances de compatibilit?. Dans le code que tu m'as pass? une chose ne fonctionne pas :
titre = this. > le d?bugger me dit qu'il y a une erreur : "Un nom de champ est attendu apr?s l?op?rateur '.' "
Sinon pour r?pondre a une autre question : "var menu = "un texte" ; // tu aurais pas oubli? de mettre une valeur ? ta variable ?" : ma variable est un tableau dans lequel je vais chercher mes textes : menu=;
Voila. Qu'en penses-tu ? Encore merci
Salut kameleon,
merci beaucoup pour ta r?ponse. En effet je n'utilise pas Flash8 et je pr?f?re
compiler pour des versions ant?rieures ?FP8, pour de plus gdes chances de
compatibilit?.
Dans le code que tu m'as pass? une chose ne fonctionne pas :
titre = this. > le d?bugger me dit qu'il y a une erreur : "Un nom de champ est
attendu apr?s l?op?rateur '.' "
Sinon pour r?pondre a une autre question :
"var menu = "un texte" ; // tu aurais pas oubli? de mettre une valeur ?
ta variable ?" : ma variable est un tableau dans lequel je vais chercher mes
textes : menu=;
Salut kameleon, merci beaucoup pour ta r?ponse. En effet je n'utilise pas Flash8 et je pr?f?re compiler pour des versions ant?rieures ?FP8, pour de plus gdes chances de compatibilit?. Dans le code que tu m'as pass? une chose ne fonctionne pas :
titre = this. > le d?bugger me dit qu'il y a une erreur : "Un nom de champ est attendu apr?s l?op?rateur '.' "
Sinon pour r?pondre a une autre question : "var menu = "un texte" ; // tu aurais pas oubli? de mettre une valeur ? ta variable ?" : ma variable est un tableau dans lequel je vais chercher mes textes : menu=;
Voila. Qu'en penses-tu ? Encore merci
ekameleon
Hello :)
J'en pense que :
1. j'ai pas écrit titre = this. mais : var titre = this["titre"+i] !!! Notation entre crochet, exemple :
var o = new Object ; o.a = 1 ; trace(o.a) ; // syntaxe pointée trace(o["a"]) ; // pareil mais syntaxe entre crochet
2 - tu devrais appuyer sur F1 et lire un peu l'aide de flash à mon avis car là tu as du rater pas mal de petite chose dedans ;) Et que tout débutant se doit de la lire un minimum ;) Ce genre de problème est expliqué dedans :)
3 - Si tu utilises un tableau dans menu ... je pouvais pas le savoir quand tu ne le précise pas... en général quand tu parcours un tableau il vaut mieux taper :
var menu = [ "accueil", "rubrique1", "rubrique2", "rubrique3"] ;
var n = menu.length ; // super important de bien calculer la taille du tableau en dehors de la boucle for
for (var i=0; i<=n; i++){ this.createTextField("titre"+i,i,100,10*i,300,100); var titre = this["titre"+i] ; // marche sur tout Flash Player depuis le 6 titre.text = menu[i] ; titre.border = true ; // petit test pour bien afficher le champ de texte dans tous les cas. }
EKA+ :)
SaluCseb a écrit :
Salut kameleon, merci beaucoup pour ta r?ponse. En effet je n'utilise pas Flash8 et je pr?f?re compiler pour des versions ant?rieures ?FP8, pour de plus gdes chances de compatibilit?. Dans le code que tu m'as pass? une chose ne fonctionne pas :
titre = this. > le d?bugger me dit qu'il y a une erreur : "Un nom de champ est attendu apr?s l?op?rateur '.' "
Sinon pour r?pondre a une autre question : "var menu = "un texte" ; // tu aurais pas oubli? de mettre une valeur ? ta variable ?" : ma variable est un tableau dans lequel je vais chercher mes textes : menu=;
Voila. Qu'en penses-tu ? Encore merci
Hello :)
J'en pense que :
1. j'ai pas écrit titre = this. mais : var titre = this["titre"+i] !!!
Notation entre crochet, exemple :
var o = new Object ;
o.a = 1 ;
trace(o.a) ; // syntaxe pointée
trace(o["a"]) ; // pareil mais syntaxe entre crochet
2 - tu devrais appuyer sur F1 et lire un peu l'aide de flash à mon avis
car là tu as du rater pas mal de petite chose dedans ;) Et que tout
débutant se doit de la lire un minimum ;) Ce genre de problème est
expliqué dedans :)
3 - Si tu utilises un tableau dans menu ... je pouvais pas le savoir
quand tu ne le précise pas... en général quand tu parcours un tableau il
vaut mieux taper :
var menu = [ "accueil", "rubrique1", "rubrique2", "rubrique3"] ;
var n = menu.length ; // super important de bien calculer la taille du
tableau en dehors de la boucle for
for (var i=0; i<=n; i++){
this.createTextField("titre"+i,i,100,10*i,300,100);
var titre = this["titre"+i] ; // marche sur tout Flash Player depuis
le 6
titre.text = menu[i] ;
titre.border = true ; // petit test pour bien afficher le champ de
texte dans tous les cas.
}
EKA+ :)
SaluCseb a écrit :
Salut kameleon,
merci beaucoup pour ta r?ponse. En effet je n'utilise pas Flash8 et je pr?f?re
compiler pour des versions ant?rieures ?FP8, pour de plus gdes chances de
compatibilit?.
Dans le code que tu m'as pass? une chose ne fonctionne pas :
titre = this. > le d?bugger me dit qu'il y a une erreur : "Un nom de champ est
attendu apr?s l?op?rateur '.' "
Sinon pour r?pondre a une autre question :
"var menu = "un texte" ; // tu aurais pas oubli? de mettre une valeur ?
ta variable ?" : ma variable est un tableau dans lequel je vais chercher mes
textes : menu=;
1. j'ai pas écrit titre = this. mais : var titre = this["titre"+i] !!! Notation entre crochet, exemple :
var o = new Object ; o.a = 1 ; trace(o.a) ; // syntaxe pointée trace(o["a"]) ; // pareil mais syntaxe entre crochet
2 - tu devrais appuyer sur F1 et lire un peu l'aide de flash à mon avis car là tu as du rater pas mal de petite chose dedans ;) Et que tout débutant se doit de la lire un minimum ;) Ce genre de problème est expliqué dedans :)
3 - Si tu utilises un tableau dans menu ... je pouvais pas le savoir quand tu ne le précise pas... en général quand tu parcours un tableau il vaut mieux taper :
var menu = [ "accueil", "rubrique1", "rubrique2", "rubrique3"] ;
var n = menu.length ; // super important de bien calculer la taille du tableau en dehors de la boucle for
for (var i=0; i<=n; i++){ this.createTextField("titre"+i,i,100,10*i,300,100); var titre = this["titre"+i] ; // marche sur tout Flash Player depuis le 6 titre.text = menu[i] ; titre.border = true ; // petit test pour bien afficher le champ de texte dans tous les cas. }
EKA+ :)
SaluCseb a écrit :
Salut kameleon, merci beaucoup pour ta r?ponse. En effet je n'utilise pas Flash8 et je pr?f?re compiler pour des versions ant?rieures ?FP8, pour de plus gdes chances de compatibilit?. Dans le code que tu m'as pass? une chose ne fonctionne pas :
titre = this. > le d?bugger me dit qu'il y a une erreur : "Un nom de champ est attendu apr?s l?op?rateur '.' "
Sinon pour r?pondre a une autre question : "var menu = "un texte" ; // tu aurais pas oubli? de mettre une valeur ? ta variable ?" : ma variable est un tableau dans lequel je vais chercher mes textes : menu=;
Voila. Qu'en penses-tu ? Encore merci
Seb
Bonjour,
"ekameleon" a écrit dans le message de news: dt5lbk$aik$
var n = menu.length ; // super important de bien calculer la taille du tableau en dehors de la boucle for
pourquoi est-ce tellement "super important"
tu penses qu'on gagne en temps process (?) à faire var n = menu.length for (var i=0; i<=n; i++){ //... }
plutôt que for (var i=0; i<=menu.length; i++){ //... }
-- Seb
Bonjour,
"ekameleon" <ekameleon@gmail.com> a écrit dans le message de news:
dt5lbk$aik$1@forums.macromedia.com...
var n = menu.length ; // super important de bien calculer la taille du
tableau en dehors de la boucle for
pourquoi est-ce tellement "super important"
tu penses qu'on gagne en temps process (?) à faire
var n = menu.length
for (var i=0; i<=n; i++){
//...
}
plutôt que
for (var i=0; i<=menu.length; i++){
//...
}
"ekameleon" a écrit dans le message de news: dt5lbk$aik$
var n = menu.length ; // super important de bien calculer la taille du tableau en dehors de la boucle for
pourquoi est-ce tellement "super important"
tu penses qu'on gagne en temps process (?) à faire var n = menu.length for (var i=0; i<=n; i++){ //... }
plutôt que for (var i=0; i<=menu.length; i++){ //... }
-- Seb
ekameleon
Hello :)
C'est vrai que l'on peut se dire que c'est inutile ! Sur des petits tableau il est certain que tu vas pas gagné beaucoup ... mais faut jamais oublier que flash est limité dans le temps au niveau de l'utilisation des boucles for, while etc... et des récursions (256 récursions maxi) et si un jour tu te retrouves à coder sur une appli de + en + complexe et que d'un coup tu te rends compte que tu as cumulé des erreurs d'optimisation depuis le départ et que ton swf se fige et te renvoi une erreur de type "script limit"... tu devras alors reprendre tout ton code pour changer ce genre de petit détail ;)
Du coup en prenant tout de suite l'habitude de bien déclarer la taille de ton tableau une seule fois, tu verras que cela devient un réflexe et que cela vaut vraiment le coup par la suite ;)
Exemple :
var timer:Number ; var loop:Number = 200000 ;
var ar:Array = new Array ; for (var i:Number = 0 ; i<loop ; i++) { ar[i] = { index : i } ; }
--- test1 result : 950 ms --- test2 result : 898 ms
EKA+ :)
Seb a écrit :
Bonjour,
"ekameleon" a écrit dans le message de news: dt5lbk$aik$
var n = menu.length ; // super important de bien calculer la taille du tableau en dehors de la boucle for
pourquoi est-ce tellement "super important"
tu penses qu'on gagne en temps process (?) à faire var n = menu.length for (var i=0; i<=n; i++){ //... }
plutôt que for (var i=0; i<=menu.length; i++){ //... }
Hello :)
C'est vrai que l'on peut se dire que c'est inutile ! Sur des petits
tableau il est certain que tu vas pas gagné beaucoup ... mais faut
jamais oublier que flash est limité dans le temps au niveau de
l'utilisation des boucles for, while etc... et des récursions (256
récursions maxi) et si un jour tu te retrouves à coder sur une appli de
+ en + complexe et que d'un coup tu te rends compte que tu as cumulé des
erreurs d'optimisation depuis le départ et que ton swf se fige et te
renvoi une erreur de type "script limit"... tu devras alors reprendre
tout ton code pour changer ce genre de petit détail ;)
Du coup en prenant tout de suite l'habitude de bien déclarer la taille
de ton tableau une seule fois, tu verras que cela devient un réflexe et
que cela vaut vraiment le coup par la suite ;)
Exemple :
var timer:Number ;
var loop:Number = 200000 ;
var ar:Array = new Array ;
for (var i:Number = 0 ; i<loop ; i++) {
ar[i] = { index : i } ;
}
C'est vrai que l'on peut se dire que c'est inutile ! Sur des petits tableau il est certain que tu vas pas gagné beaucoup ... mais faut jamais oublier que flash est limité dans le temps au niveau de l'utilisation des boucles for, while etc... et des récursions (256 récursions maxi) et si un jour tu te retrouves à coder sur une appli de + en + complexe et que d'un coup tu te rends compte que tu as cumulé des erreurs d'optimisation depuis le départ et que ton swf se fige et te renvoi une erreur de type "script limit"... tu devras alors reprendre tout ton code pour changer ce genre de petit détail ;)
Du coup en prenant tout de suite l'habitude de bien déclarer la taille de ton tableau une seule fois, tu verras que cela devient un réflexe et que cela vaut vraiment le coup par la suite ;)
Exemple :
var timer:Number ; var loop:Number = 200000 ;
var ar:Array = new Array ; for (var i:Number = 0 ; i<loop ; i++) { ar[i] = { index : i } ; }