Loadmovie fait le ménage...

Loadmovie fait le ménage... - Flash/ActionScript - Programmation

Marsh Posté le 15-10-2005 à 23:14:04    

Salut,
 
Je bataille encore sur des loadmovie...
J'ai fait un simple :
 

Code :
  1. this.loadMovie("tiles-bois.swf", "titi" );


 
dans mon clip, mais ce clip contient d'autres choses dans des calques séparés.
Un fois loadé, le swf remplace tout ce qui se trouve dans son clip d'acceuil...
 
Evidement ça casse tout :(
 
Je ne peux pas me permettre de faire un :

Code :
  1. scroller.createEmptyMovieClip(toto);
  2. toto.loadMovie("tiles-bois.swf", "titi" )


 
Car si le swf n'est pas loadé exactement dans ce clip ça marche pas (le projet)...
 
Une idée ?


Message édité par jycsd le 15-10-2005 à 23:15:33
Reply

Marsh Posté le 15-10-2005 à 23:14:04   

Reply

Marsh Posté le 16-10-2005 à 10:14:34    

la seule solution pour loader un clip dans un autre sans faire le ménage est celle que tu donne...
cf. aussi ici:
http://livedocs.macromedia.com/fla [...] 01519.html
 
je t'ai fait une liste de forum dédié a Flash ou tu auras des chances de trouver des partenaires qualifié et/ou qui on du temps:
-> en francais:
http://flash.media-box.net/index.php
http://www.flash-france.com/forums/index.php
http://www.flashkod.com/forum.v2.aspx
-> en anglais:
http://www.flashkit.com/board/index.php
http://www.actionscripts.org/forums/index.php3


---------------
D3
Reply

Marsh Posté le 16-10-2005 à 15:14:45    

Merci Mechkurt
 
Par contre j'ai vraiment pas de bol avec l'AS... Il manque trop de fonctionnalité à ce langage....

Reply

Marsh Posté le 16-10-2005 à 17:39:34    

écoute, c'est pas si grave, je vais faire un autre clip menu au meme niveau et lui faire faire un  
on(release) {
_parent.clipscroll.gotoframe (x) ...etc ^^


Message édité par jycsd le 16-10-2005 à 17:44:30
Reply

Marsh Posté le 16-10-2005 à 18:24:45    

Need help  :sweat:
 
Bon alors j'ai fait un clip menu au niveau scène :
http://img430.imageshack.us/img430/9300/screenshot1713uu.jpg
Toutes les deux frames y'a un changement de menu qui se produit en cliquant sur un des boutons menu.
Le code sur ces boutons est de type :

Code :
  1. on (release) {
  2. this._parent.library.unloadMovie();  //unloader le contenu du menu précédemment chargé
  3. gotoAndStop(1) //aller à la frame 1 pour agir sur l'apparence du menu, exemple : criser le bouton cliqué
  4. this._parent.library.gotoAndStop(1); //va à la frame, dans le clip library, qui charge le contenu du menu.
  5. }


________
Toujours au niveau scène, j'ai mit un clip :
http://img187.imageshack.us/img187/8754/screenshot1739tf.jpg
Avec toutes les deux frames un code de type :

Code :
  1. this.loadMovie("tiles-bois.swf", "titi", "get" );


 
________
 
En test, le premier contenu se charge. Je clique ensuite sur un autre bouton, le contenu se décharge. Impec.
Par contre, je reclique sur le 1er menu et là le contenu ne s'affiche pas.
On dirait que le Loadmovie a supprimé définitivement le contenu de son clip... Que faire ?
Peut être un unloadMovieNum ?
 
Merci


Message édité par jycsd le 16-10-2005 à 18:35:08
Reply

Marsh Posté le 16-10-2005 à 18:47:43    

si t'as un code this.loadMovie, je pense qu'il est supprimé par le dit loadMoie, d'ou ca marche qu'une fois...
 
en effet un loadMovie non seulement prend la place de tout ce qui est graphique dans un clip mais il efface aussi le code...
 
ceci n'étant qu'une hypothese tu peut mettre ca:

Code :
  1. this.onEnterFrame = function() {
  2.     trace(this);
  3. }


dans ton clip (a cote du this.loadMovie()).
 
si le trace(this) cesse de fonctionner aprse le chargement du clip c'est que mon hypothese est bonne (et toi dans l'obligation de trouver une autre solution ;) )


---------------
D3
Reply

Marsh Posté le 16-10-2005 à 18:55:36    

Dans cet ordre ?
 

Code :
  1. this.onEnterFrame = function() {
  2. trace(this);
  3. this.loadMovie("tiles-bois.swf", "titi", "get" );
  4. }


Message édité par jycsd le 16-10-2005 à 18:56:28
Reply

Marsh Posté le 16-10-2005 à 19:48:54    

non! non! a part, commec ca:

Code :
  1. this.onEnterFrame = function() {
  2.     trace("ca marche!" );
  3. }
  4. this.loadMovie("tiles-bois.swf", "titi", "get" );


 
tu vas avoir "ca marche!" qui apparait a chaque enterframe dans le panneau de sortie
 
-> si "ca marche!" cesse d'apparaitre c'est que tous le code qui est dans le MovieClip (l'enterframe de debuggage et ton loadMovie) on etait ecrasé
-> si "ca marche!" continue d'apparaitre, le PB est ailleurs (comme la vérité il parait...)
 
dans les deux cas bonne soirée a toi!


Message édité par mechkurt le 16-10-2005 à 19:49:39

---------------
D3
Reply

Marsh Posté le 16-10-2005 à 20:09:59    

Merci ^^
Je vais tester ça, et dans tous les cas si ça marche pas, j'ai pensé à une solution 100% AS qui ne peut que marcher ;)
 
Bonne soirée aussi, je posterais la solution pour les autres après.


Message édité par jycsd le 16-10-2005 à 20:12:13
Reply

Marsh Posté le 16-10-2005 à 20:20:38    

La solution :
 
A chaque changement de menu, créer et supprimer un nouveau clip loader :
 
on (release) {
 this._parent.unloadMovie(scrollfen);
 gotoAndStop(1)
 this._parent.createEmptyMovieClip("scrollfen", scrollfen);
 this._parent.scrollfen._x = 17
 this._parent.scrollfen._y = 655
 this._parent.scrollfen.loadMovie("tiles-bois.swf", "titi", "get" )
 }

Reply

Marsh Posté le 16-10-2005 à 20:20:38   

Reply

Marsh Posté le 16-10-2005 à 20:20:54    

La solution :
 
A chaque changement de menu, supprimer et créer un nouveau clip loader :
 

Code :
  1. on (release) {
  2. this._parent.unloadMovie("scrollfen" );
  3. gotoAndStop(1)
  4. this._parent.createEmptyMovieClip("scrollfen", scrollfen);
  5. this._parent.scrollfen._x = 17
  6. this._parent.scrollfen._y = 655
  7. this._parent.scrollfen.loadMovie("tiles-bois.swf", "titi", "get" )
  8. }


 
Par contre ça marche pas... Il me supprime tout et load rien  :pt1cable:
 
Finallement j'ai trouvé un truc plus simple qui marche :
 
1-Créer clip vide d'instance "machin"
2-sur le clip du menu, associer à un bouton :

Code :
  1. on (release) {
  2. this._parent.machin.unloadMovie()
  3. gotoAndStop(1)
  4. this._parent.machin.loadMovie("tiles-bois.swf", "titi", "get" )
  5. }


Message édité par jycsd le 16-10-2005 à 20:33:42
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed