Preloader et flashVar AS2 = problème

669 Messages postés 3 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 22 juillet 2010 - 22 juil. 2010 à 10:48
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 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.

Merci d'avance pour vos réponses.

5 réponses

cs_mic1331 Messages postés 31 Date d'inscription samedi 22 avril 2006 Statut Membre Dernière intervention 24 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 ?
0
669 Messages postés 3 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 22 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.

Voilà voilà ^
0
cs_mic1331 Messages postés 31 Date d'inscription samedi 22 avril 2006 Statut Membre Dernière intervention 24 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 ^^
0
669 Messages postés 3 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 22 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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
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... ;-) ;
0
Rejoignez-nous