669
Messages postés3Date d'inscriptionjeudi 13 mars 2008StatutMembreDernière intervention22 juillet 2010
-
22 juil. 2010 à 10:48
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 2014
-
22 juil. 2010 à 22:34
Bonjour à tous, ceci est mon premier post, je vais tenter d'être le plus clair possible.
Je suis débutant en flash et je ne suis pas développeur, alors j'ai quelques difficultés concernant l'AS2.
Voici le problème :
J'ai un fla, dans lequel je place sur la frame 1 un preloader, et sur la frame 2 ma scène.
Sur l'mage 1, mon preloader fonctionne comme ceci :
this.onEnterFrame = function() {
[...les fonctions du preloader]
if (part_load == 100) {
delete this.onEnterFrame;
gotoAndPlay(2);
}
et mon flashvar sur l'image 2 :
var maPage:String;
onEnterFrame = function () {
_root[maPage].gotoAndStop(11);
};
Problème : la scène bugue façon stroboscope et passe constamment de l'image 1 à l'image 2, même si je place un "stop();" en début d'image 2. Peut être est-ce à cause du delete onEnterFrame puis d'un re-onEnterFrame?
solution tentée : j'ai créer deux séquences, l'une nommée "preloader" et l'autre nommée "scene".
la frame 1 citée précédemment s'est retrouvée dans "preloader", et l'image 2 dans "scene"
J'ai donc modifier la ligne du preloader en : gotoAndPlay(«scene»,1);
Là, le problème de stroboscope n'existe plus, mais le flashvar ne fait pas effet non plus.
Quelqu'un aurait-il une solution pour que le flashvar soit pris en compte tout en gardant le preloader et en restant sur de l'AS2?
Je précise que le flashvar fonctionne seul si on le place sur la première image et qu'on vire le preloader.
cs_mic1331
Messages postés31Date d'inscriptionsamedi 22 avril 2006StatutMembreDernière intervention24 août 2010 22 juil. 2010 à 14:32
Bonjour, sur ta frame 1 je ne vois pas de problème, pour ce qui est de la 2 je ne comprend pas pourquoi tu utilise un "onEnterFrame" pour un "gotoAndStop", de plus pourquoi ne pas tout simplement écrire:
this.onEnterFrame = function() {
[...les fonctions du preloader]
if (part_load == 100) {
delete this.onEnterFrame;
gotoAndStop(11);
}
Dans ta frame 1 et laisser la 2 vierge, je ne comprend pas a quoi sert la frame 2, tu fais du "loadVar" avec php ?
669
Messages postés3Date d'inscriptionjeudi 13 mars 2008StatutMembreDernière intervention22 juillet 2010 22 juil. 2010 à 14:49
Merci de ta réponse,
la frame un est un preloader, qui doit m'emmener sur la frame 2.
Le code que tu m'as mis ici m'enverrais à la frame 11.
Le but de ma manœuvre est que dans l'image 2, le script force un des clips à se bloquer sur l'image 11 (du clip, pas de la scène).
Cela me permet de faire des boutons assez évoluer via clips, avec une image dédié au statu actif du bouton (ici, l'image 11 du clip maPage).
Coté PHP, je ne sais pas quel est le script, tout ce que je sais c'est qu'à la place de "maPage", le php renvoie un mot, qui correspond à un nom d'occurence de clip.
cs_mic1331
Messages postés31Date d'inscriptionsamedi 22 avril 2006StatutMembreDernière intervention24 août 2010 22 juil. 2010 à 15:16
Ok je comprned un peu mieux, donc je te propose en frame 1 tu met gotoAndStop(2), et a la frame 2 tu écris:
var maPage:String;//je ne pense pas que ton script soit en entier car maPage ne contient rien a ce moment
//de plus tu pourrais écrire directement, en as2 ça detecte tout seul ^^
maPage = "mon_string";
onEnterFrame = function () {
_root[eval(maPage)].gotoAndStop(11);
};
si tu écrit le nom d'occurence d'un clip avec un String tu doit mettre eval(nom_du_clip), ça te permet d'écrire eval("nom_en_string"+une_variable).la_propriété.
dans ton cas juste (une_variable).la_propriété.
Dis moi ce que ça donne ^^
669
Messages postés3Date d'inscriptionjeudi 13 mars 2008StatutMembreDernière intervention22 juillet 2010 22 juil. 2010 à 16:11
Merci je vais tenter ça...
Pour la var "maPage", je la laisse vide car elle contiendra le string définis directement dans le php.
Je ne sais pas trop comment ca communique entre les deux, je ne peu pas être plus précis là dessus.
En plus, j'avais fait une erreur que je n'avais pas recopier ici, mais je la dit pour les futurs lecteurs :
Quand on veut utiliser cette fonction pour agir sur un clip dans un clip, il ne faut pas ecrire
var maPage:String;
onEnterFrame = function () {
_root.clip1.[maPage].gotoAndStop(11);
};
mais
var maPage:String;
onEnterFrame = function () {
_root.clip1[maPage].gotoAndStop(11);
};
Le point entre clip1 et [maPage] fait tout foirer.
Toujours est-il que je vais tester ca dans l'après midi, je te fait un retour dès que possible.
Vous n’avez pas trouvé la réponse que vous recherchez ?
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 20146 22 juil. 2010 à 22:34
Hello,
question : pourquoi tu t'embêtes à stocker ton texte dans un fichier php ? Tu stockerais ce texte dans un fichier.xml ou dans un fichier.txt ce serait plus commode pour le récupérer dans flash.
A plus ,
BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;