stupefilip | Bonjour à tous,
Je viens faire appel à vous car j'ai un soucis pour la lecture de .FLV avec le composant FLVPlayback et je n'arrive pas à trouver d'où viens le problème.
Je vous expose la chose :
_ J'ai un .SWF principal (en AS3) qui contient un menu, et chaque onglet charge un .swf distinct
_ Sur les .swf appelés (en AS2), à l'image 1, il y a (entre autres) 4 boutons appelants chacun une vidéo.
Par exemple : lorsque je clique sur le bouton 1, la timeline se lit et se stoppe à l'image clé 30 ( il y a une petite animation entre l'image 2 et la 29). Sur l'image clé 30, j'ai placé le composant FVLPLAYBACK, et celui-ci appelle donc une vidéo située dans mon répertoire vidéo (le chemin dans le composant c'est "video/nomDeLaVideo". Sous la vidéo j'ai placé un bouton fermé, qui quand je clique dessus nous ramène à l'image clé 1.
Quand je teste chaque .SWF 1 à 1 (donc sans passer par mon .swf principal), tout fonctionne correctement, peu importe le nombre de vidéos.
Par contre, quand je passe par le .swf principal qui me sert d'interface, ça se complique. Pour être plus simple je vais vous faire un exemple :
_ je lance mon .SWF principal
_ je clique sur un bouton du menu qui va charger un .swf
_ ce swf fonctionne correctement puisque j'arrive à lire puis fermer toutes les vidéos
_ je clique sur un autre bouton du menu (à ce moment là on lui demande de décharger le .swf en cours, puis d'en charger un autre)
_ et là lorsque je clique sur un bouton pour lancer une vidéo cela ne fonctionne pas. La timeline va bien jusqu'à l'image clé contenant le composant (j'ai fait un test en mettant un repère visuel à ce niveau), mais le composant ne semble pas trouver la vidéo.
_ je refais toute la manip en commençant cette fois par charger le .swf qui ne fonctionnait pas puis en terminant par celui qui fonctionnait, et bien le 1er fonctionne et plus le 2nd.
_ en gros, le premier .swf qui est lancé fonctionne très bien, mais dès que je veux le décharger pour en charger un autre il semble y avoir un problème.
La raison pour laquelle le menu est en as3 est que c'est une autre personne qui a travaillé dessus, moi je ne suis juste animateur flash et j'ai bidouillé comme j'ai pu pour pondre une "application interactive".
Voici un bout de code situé sur le .swf principal qui sert à charger/décharger les .swf
Citation :
function tournage(evt:MouseEvent) {
TweenMax.to(fond_menu, 0.5, {x:230});
TweenMax.to(menu_tournage, 0.5, {x:284});
TweenMax.to(menu_montage, 0.3, {x:54});
TweenMax.to(btn_fond, 0, {x:8, y:88});
curseur.y=0;
chargeBA01_01.parent.removeChild(chargeBA01_01);
chargeBA01_02.parent.removeChild(chargeBA01_02);
chargeBA01_03.parent.removeChild(chargeBA01_03);
chargeBA01_04.parent.removeChild(chargeBA01_04);
chargeBA01_05.parent.removeChild(chargeBA01_05);
chargeBA01_06.parent.removeChild(chargeBA01_06);
}
menu_01.btn_tournage.addEventListener(MouseEvent.MOUSE_UP, tournage)
var chargeBA01_01:Loader = new Loader();
function bandeAnnonce(evt:MouseEvent) {
TweenMax.to(fond_menu, 0.5, {x:0});
TweenMax.to(menu_tournage, 0.5, {x:54});
var adresseBA01_01:URLRequest = new URLRequest("01 - production_tournage_ba.swf" );
chargeBA01_01.load(adresseBA01_01);
curseur.addChild(chargeBA01_01)
chargeBA01_01.x = 0;
chargeBA01_01.y = 0;
curseur.y=0;
chargeBA01_02.parent.removeChild(chargeBA01_02);
chargeBA01_03.parent.removeChild(chargeBA01_03);
chargeBA01_04.parent.removeChild(chargeBA01_04);
chargeBA01_05.parent.removeChild(chargeBA01_05);
chargeBA01_06.parent.removeChild(chargeBA01_06);
}
menu_tournage.btn_bandeAnnonce.addEventListener(MouseEvent.MOUSE_UP, bandeAnnonce)
|
---------------
Webdesigner Freelance | Feedback achat/vente
|