Forums Développement Multimédia

Aller au contenu

- - - - -

movieclip d'un .swf loadé qui n'apparait pas

CODE AS3 FLASH SWF

7 réponses à ce sujet

#1 steelfox

    Ceinture Jaune

  • Members
  • PipPip
  • 22 messages

Posté 24 April 2014 - 13:12 PM

Bonjour,

Je bute actuellement sur un problème avec un .swf que je charge dans un autre grâce à un loader.
Il se trouve qu'un bouton de mon .swf chargé n'apparait pas lorsque je lance le test, alors que si je test ce même le .swf enfant à part, le bouton apparaît bien sur la scène...
Pour infos, ce bouton est appelé avec addChild et doit apparaître à la suite d'un évènement. Je l'ai donc placer sur la scène avec ces lignes de code :

addChildAt(passer,3);
passer.x=700;
passer.y=stage.stageHeight-59;
passer.addEventListener(Mouseevent.MOUSE_DOWM,passe);
passer.visible=false; //pr l'instant le bouton n'est pas visible
(.....)
// fonction déclenchée par un événement, qui doit rendre le bouton visible.
function startgame(event:MouseEvent):void{
passer.visible=true;
}
 
Sauriez-vous d'où peut provenir le problème ? merci de votre aide.

#2 paodao

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 7060 messages

Posté 24 April 2014 - 14:05 PM

salut
tu pourrais posté les versions alégé (avec juste le probleme) de tes fla ?
a+

#3 steelfox

    Ceinture Jaune

  • Members
  • PipPip
  • 22 messages

Posté 24 April 2014 - 15:10 PM

Euh désolé en fait je peux pas poster des fla allégés, le truc c'est que je dois re-travailler des fichiers réalisés par qqun d'autre (dans le cadre d'un stage) dont il y a des parties qui m'échappent.
Si je poste les fichiers entier ça va peser 40Mo, je sais pas si ça passe sur le forum...

Mais voici la partie du fichier parent où est crée le loader et où est appelé le swf enfant (codé par moi-même), si ça peut aider :


stop();
import flash.display.Loader;
import flash.net.URLRequest;
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
var loader:Loader = new Loader();
loader.load(new URLRequest("essai_morpion_j1.swf"));
addChild(loader);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded);
function swfLoaded(event:Event):void {
         loader.content.addEventListener("chapitre_suivant",chap_suiv_handler);
}
function chap_suiv_handler (event:Event):void {
removeChild(loader);
}
 


#4 paodao

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 7060 messages

Posté 24 April 2014 - 15:29 PM

Citation

// fonction déclenchée par un événement, qui doit rendre le bouton visible.
c'est quoi cet evenement ?

#5 steelfox

    Ceinture Jaune

  • Members
  • PipPip
  • 22 messages

Posté 24 April 2014 - 15:48 PM

Il s'agit d'un clic sur un movieclip, dont voici les lignes de code :

addChildAt(bandeauTitre,1);
bandeauTitre.x=stage.stageWidth/2;
bandeauTitre.y=stage.stageHeight-bandeauTitre.height/2;
bandeauTitre.addEventListener(MouseEvent.MOUSE_DOWN, startgame);
 


#6 paodao

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 7060 messages

Posté 24 April 2014 - 16:04 PM

essaye ca

function startgame(event:MouseEvent):void{
passer.visible=true;
trace("plop");
}
 

et regarde si tu vois bien passer le plop

si tu le vois pas, c'est que le clique est pas capté, du coup verifie qu'il n'y a rien devant ton bouton (comme un png transparent qui passerait par dessus par exemple)

un truc bien pour savoir si ton bouton est bien vue c'est de rajouter
bandeauTitre.buttonMode = true;
si quand tu passe la souris sur le bouton tu ne vois pas la main apparaitre c'est qu'il y a quelque chose devant

a+

#7 steelfox

    Ceinture Jaune

  • Members
  • PipPip
  • 22 messages

Posté 24 April 2014 - 22:23 PM

Merci de ta réponse, voilà ce que ça donne : le trace("plop"); fonctionne et le buttonMode aussi. Du coup je ne sais toujours pas ce qui peut bloquer l'apparition du mc "passer". J'ai également essayé de changer sa profondeur d'affichage mais rien n'y fait. :?

#8 steelfox

    Ceinture Jaune

  • Members
  • PipPip
  • 22 messages

Posté 25 April 2014 - 07:31 AM

Est-ce qu'un DisplayObjectContainer pourrait être responsable de ce problème d'affichage ? Car j'ai des éléments du jeu qui s'affichent dans un container. Pourtant mon movieclip est censé s'afficher "au dessus" de ce container car j'ai régler sa profondeur d'affichage à 3, alors que le container est à 2 (et de plus il n'est pas contenu dans ce container).




Répondre à ce sujet



  

1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP