Preload qui ne charge pas la totalité du swf

clairemarie123 Messages postés 14 Date d'inscription vendredi 13 avril 2007 Statut Membre Dernière intervention 29 mars 2010 - 27 oct. 2009 à 22:13
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010 - 5 nov. 2009 à 21:12
Bonjour,
Je voudrais mettre un loader pour charger le swf (index3_ok.swf).
J'ai trouvé un code qui fait un swf (circle.swf) qui charge le second swf mais je me rends compte qu'il charge le swf(index3_ok.swf)mais pas entierement car l'animation du panorama centrale ne se charge pas.
Et je ne vois pas pourquoi ca ne marche pas, je pense qu'il y a un problème d'actionscript.

Merci de m'aider

18 réponses

crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
28 oct. 2009 à 12:43
salut,

un peu de code pourrait nous servir je pense :).
0
clairemarie123 Messages postés 14 Date d'inscription vendredi 13 avril 2007 Statut Membre Dernière intervention 29 mars 2010
28 oct. 2009 à 14:56
Bonjour,
En effet avec les codes c'est mieux !
Le premier fla est ici:
http://www.agynessriviera.com/test/code/circle.fla
et l'anim a charger est ici :
http://www.agynessriviera.com/test/code/index3_ok.swf

Merci de votre aide :-)
0
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
28 oct. 2009 à 21:00
en effet l'utilisation de loadMovie est déprécié pour MovieClipLoader, pas que ce soit bien ou mal programmé, mais la gestion des loading est beaucoup amélioré avec un MovieClipLoader.

Ce code est à placer sur l'image 1 de la scène principale, le code contenu dans le clip circle est à enlever. Le clip circle restant sur la scène et étant renommé circle_anim (ne pas oublier de renommer car ce n'était pas fait dans ta source).

var conteneur:MovieClip = this.createEmptyMovieClip("conteneur",1);
var ecouteur:Object = new Object();
var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(ecouteur);
mcl.loadClip("index3_ok.swf",conteneur);

// quand le téléchargement commence
ecouteur.onLoadStart = function(target:MovieClip) {
  circle_anim._x = int(Stage.width/2)-16;
  circle_anim._y = int(Stage.height/2)-16;
  circle_anim._visible = true;
}
// quand le téléchargement progresse
ecouteur.onLoadProgress = function(target:MovieClip,loaded:Number,total:Number) {
  trace(loaded*100/total+"% chargé");
}
// quand le clip est chargé complètement
ecouteur.onLoadComplete = function(target:MovieClip) {
  circle_anim._visible = false;
}
// quand une erreur de chargement arrive
ecouteur.onLoadError = function(target:MovieClip,errorCode:String) {
}
// quand le clip est chargé ET affiché
ecouteur.onLoadInit = function(target:MovieClip) {
}


C'est un exemple à compléter mais ça te donne déjà une bonne base pour gérer un chargement.
0
clairemarie123 Messages postés 14 Date d'inscription vendredi 13 avril 2007 Statut Membre Dernière intervention 29 mars 2010
28 oct. 2009 à 21:44
Merci pour ton aide.
J'ai modifier le fla de circle qui s'appelle maintenant circle2.fla qui se trouve ici :
http://www.agynessriviera.com/test/code/circle2.fla
mais c'est pire qu'avant....car avant ca chargeait bien mais l'anim panorama du centre de index3_ok.swf ne marchait pas alors que la je ne vois pas le loading avec cercle qui tourne et après ca fait une anim enorme qui est pas à la taille normal.
Je ne m'en sors pas...

Help me :-(
0

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

Posez votre question
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
28 oct. 2009 à 22:05
en fait c'est le clip que tu utilises qui est "mal foutu".

Le plus simple : tu effaces l'actuel circle_anim sur ta scène principale, tu ouvres la bibliothèque et tu mets sur la scène le symbole clip "animm", et tu le renommes anim_cercle.

tu peux modifier ton code pour le mettre plus gros avec _xscale/_yscale.

Voilà ton problème résolu.
0
clairemarie123 Messages postés 14 Date d'inscription vendredi 13 avril 2007 Statut Membre Dernière intervention 29 mars 2010
28 oct. 2009 à 23:21
Merci, donc le loader marche mais j'ai tjs le même problème qu'au début qui est que le panorama qui devrait s'afficher au centre de l'anim index3_ok.swf ne se charge pas.
J'ai mis les codes ici :
http://www.agynessriviera.com/test/code/codes-sources.zip

Dites moi si vous voulez regarder le code de l'anim index3_ok.swf car c'est peut-etre là qu'il y a un soucis d'incompatibilité dans l'actionscript.

En tout cas un grand merci !
0
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
29 oct. 2009 à 07:29
ok je viens de saisir ce que tu appelles le panorama, et comme tu le dis dans ton dernier message, oui c'est effectivement le code de index3_ok.swf qui est responsable. il faut se méfier des de la hiérarchie de ton code car tu es dans le cas ou tu charges un fichier qui lui aussi charge un fichier.
0
clairemarie123 Messages postés 14 Date d'inscription vendredi 13 avril 2007 Statut Membre Dernière intervention 29 mars 2010
29 oct. 2009 à 09:50
Bonjour et merci encore de ta réponse.
Le code que j'ai sur mon fla sur la premiere image de ma séquence est :

panorama.targetX = panorama._x;

panorama.onEnterFrame = function() {
var speed = 1;
this._x += (this.targetX - (this._x / 28)) / speed;
};

Il doit falloir changer des trucs mas je ne sais pas, je suis un peu nul en flash....
Merci encore par avance
0
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
29 oct. 2009 à 12:24
le code pour ton panorama a l'air correct, je dirai que cela vient plutôt du loading du panorama car il n'apparait pas à partir du moment ou on le charge depuis le "circle" et qu'il apparait bien quand on lance index3_ok.swf.
0
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
29 oct. 2009 à 12:24
est-ce que tu aurai un lien vers les sources au complet ?
0
clairemarie123 Messages postés 14 Date d'inscription vendredi 13 avril 2007 Statut Membre Dernière intervention 29 mars 2010
29 oct. 2009 à 12:32
Tu trouveras les code du l'anim index ici :
http://www.agynessriviera.com/test/code/index3_ok.fla

et le code l'anim circle ici :
http://www.agynessriviera.com/test/code/circle_2.fla

merci
0
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
30 oct. 2009 à 21:43
salut,

je n'ai pas pu regarder avant, je viens tout juste de le faire. Donc c'est bien ce qu'il me semblait, tu as dans ton clip "curseur" un code sur image qui utilise un _root, hors _root pointera vers cercle.swf puisque index3_ok est chargé dans cercle. il faut donc passer par _parent au lieu de _root.

Je te conseil également d'essayer de ne pas faire de multiples onEnterFrame s'il n'y a pas besoin. Ce que tu peux faire pour limiter la charge cpu :

poignee.onPress = function(){
 this.startDrag(false,0,0,334,0);
 poignee.onEnterFrame = function() {
  _parent.panorama.targetX = -this._x;
 }
};

poignee.onRelease = function(){
 this.stopDrag()
 delete poignee.onEnterFrame;
}


Tu peux même utiliser des évènements comme onMouseMove beaucoup moins gourmands.
0
clairemarie123 Messages postés 14 Date d'inscription vendredi 13 avril 2007 Statut Membre Dernière intervention 29 mars 2010
2 nov. 2009 à 14:07
Merci encore pour ton aide !
malheureusement j'ai fais les modifs dont tu m'as parlé mais le panorama débloque encore...
Regarde !
http://www.agynessriviera.com//test/code/2/load.html

en faite il apparait que si on touche au curseur volontairement.

Merci ! :-)
0
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
2 nov. 2009 à 20:19
salut,

encore ici, tout est logique. J'ai refait quelques ajustement afin de regrouper tout le code, ce n'est pas parfait mais ça a le mérite de marcher.

tu renommes donc le clip qui contient le clip poignee avec le nom "curseur", tu effaces tout le code que tu pouvais avoir dans ce clip et tu mets le code suivant sur le calque Action que tu as sur ta scène principale :

//panorama.targetX = panorama._x;
panorama.onEnterFrame = function() {
var speed = 1;
this._x +=  (this.targetX - (this._x / 28)) / speed;
}

panorama.targetX = 0;

curseur.poignee.onPress = function(){
this.startDrag(false,0,0,334,0);
this.onEnterFrame = function() {
this._parent._parent.panorama.targetX = -this._x;
}
}

curseur.poignee.onRelease = function(){
this.stopDrag()
delete this.onEnterFrame;
}


Certes ce n'est pas optimisé, j'ai repris simplement ta base en mettant des _parent au lieu des _root (ce qui permet donc de marcher quand on le load depuis circle) et j'ai tout regroupé.

Si tu as d'autres soucis n'hésites pas.
0
clairemarie123 Messages postés 14 Date d'inscription vendredi 13 avril 2007 Statut Membre Dernière intervention 29 mars 2010
3 nov. 2009 à 11:45
Bonjour !

Youpii, ça marche !
Je te remercie infiniment.
Tu as un site perso que je vois ce que tu fais ?

merci encore!
0
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
3 nov. 2009 à 12:48
de rien :)

J'ai fait par exemple ceci, mais je dois le reprendre après mon concours en janvier prochain.
0
Sentinel24 Messages postés 20 Date d'inscription mardi 3 novembre 2009 Statut Membre Dernière intervention 9 novembre 2009
5 nov. 2009 à 11:29
Salut crackter.

J'ai a peu près le même soucis que clairemarie123. Je pense que ton code pour le chargement pourrais m'aider mais je ne sais pas si tu l'as fait en aS2 ou AS3 (je suis en AS2).

Peux-tu jeter un coup d'œil à mon soucis stp?
http://www.flashkod.com/forum/sujet-CHARGEMENTS-GALERIE_1371537.aspx

Merci beaucoup

Pierre
0
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
5 nov. 2009 à 21:12
Affaire à suivre sur ton thread :).
0
Rejoignez-nous