Masquer des occurences

Signaler
Messages postés
14
Date d'inscription
mardi 20 septembre 2011
Statut
Membre
Dernière intervention
19 janvier 2012
-
Messages postés
6146
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
-
Bonjour,

Existe t-il un code permettant d'appliquer à un objet l'action de masquer d'autres objets (clips, boutons)? Car lorsque je passe d'une image à l'autre à la publication, les occurences de symboles restent alors qu'elles ne sont pas présentes à cette image dans le scénario, je voulais donc appliquer à mon bouton 'retour' ce code pour masquer toutes les occurences. Par contre il faut qu'elles réapparaisse lorsque l'on revient sur cette image.
Si vous avez une idée, merci!

Mo

11 réponses

Messages postés
6146
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
10
Bonjour, si tu es en as3, il suffit de faire un "removeChild" sur tes occurrences ciblées.
Sinon en as2, tu peux toujours faire un "_visible = false", mais je ne sais plus si tes actions de boutons sont toujours valables ou pas (as2 c'est loin pour moi)

Peg'
Messages postés
14
Date d'inscription
mardi 20 septembre 2011
Statut
Membre
Dernière intervention
19 janvier 2012

Merci, j'ai bien appliqué le code suivant
{
removeChild(btn);
}
sur la sequence d'après où les occurences ne doivent pas apparaître mais cela ne marche qu'une fois sur deux et voilà ce qui est indiqué en sortie(pas d'erreur de compilation):

TypeError: Error #2007: Le paramètre child ne doit pas être nul.
at flash.display::DisplayObjectContainer/removeChild()
at CartophonieMboro_fla::MainTimeline/frame3()
at flash.display::Sprite/constructChildren()
at flash.display::Sprite()
at flash.display::MovieClip()
at CartophonieMboro_fla::Unpeudhistoire_mc_31()
at flash.display::Sprite/constructChildren()
at flash.display::Sprite()
at flash.display::MovieClip()
at CartophonieMboro_fla::Lexique_mc_7()
at flash.display::MovieClip/gotoAndPlay()
at CartophonieMboro_fla::MainTimeline/fl_ClickToGoToScene_3()

Je ne comprends pas tout! Merci
Mo
Messages postés
6146
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
10
ça veut dire que dans le code "btn" ne mène à rien.
Vérifie ton ciblage.

Peg'
Messages postés
14
Date d'inscription
mardi 20 septembre 2011
Statut
Membre
Dernière intervention
19 janvier 2012

C'est bien ce que je ne comprends pas, puisque le ciblage me semble être bon, 'btn' est le nom d'occurence de mon bouton ou clip qui est sur l'image 2, et j'applique le code
{
removeChild(btn);
}
sur les autres images (dans le calques action), où les occurences en question ne sont pas présentes sur la scène... c'est pourquoi je ne comprends pas pourquoi elles le sont à la publication.
Est ce un problème de classe? qu'est ce que le paramètre child? je suis bien en as3.

merci
Mo
Messages postés
6146
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
10
essaie déjà avec un simple "trace(btn)" et tu verras si ça mène à quelque chose.

Peg'
Messages postés
14
Date d'inscription
mardi 20 septembre 2011
Statut
Membre
Dernière intervention
19 janvier 2012

voilà la sortie pour un clip(nom d'occurence:clip3artmetal_mc) et un bouton (nom d'occurence: PlayMboro_btn)

[object clip3_artmetal_55]
[object SimpleButton]

donc il identifie bien le clip et le bouton..?
Messages postés
6146
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
10
oui, mais ce sont ceux que tu dois masquer ?

Peg'
Messages postés
14
Date d'inscription
mardi 20 septembre 2011
Statut
Membre
Dernière intervention
19 janvier 2012

oui, le premier est sur l'image 2 et doit être masqué sur l'image1, inversement pour le second qui est sur l'image1 et doit être masqué sur l'image 2.
J'ai fais trace () sur les deux images, et je me balade d'une image à l'autre, la premiere fois il me les publie bien puis il affiche 'null' et l'erreur, voilà la sortie en passant d'une image à l'autre plusieurs fois, je n'ai pas mis de removeChild() pour l'instant:
[object clip3_artmetal_55]
[object SimpleButton] //(après lecture image 2)
[object clip3_artmetal_55]
[object SimpleButton] //(retour image1)
[object clip3_artmetal_55]
null //(retour image2, etc.)
null
[object SimpleButton]
TypeError: Error #2007: Le paramètre child ne doit pas être nul.
at flash.display::DisplayObjectContainer/removeChild()
at CARTOMBORO_fla::MainTimeline/frame1()
at flash.display::MovieClip/gotoAndPlay()
at CARTOMBORO_fla::MainTimeline/fl_ClickToGoToAndPlayFromFrame_24()
[object clip3_artmetal_55]
null

Ce que je ne comprends pas, c'est pourquoi un bouton ou un clip qui n'est pas dans une image du scénario est quand même lu dans cette image à la publication, alors que sur le claque correspondant, c'est vide! pour être plus claire: mon scénario contient 4 images sur lesquelles il y a chacune une action stop(), et des clips ou de la navigation intégrés.mais le bouton permettant de passer à l'image2 apparaît sur l'image2 alors qu'il n'est que sur l'image1. De même pour les clips (en fait ce sont des clips lus a partir de boutons intégrés dans les clips) qui sont intégrés à l'image2 et qui apparaissent à l'image1.
Et sur les 3 dernières images j'ai mis un bouton 'retour' pour revenir à la lecture de la première image par fragment de code as3, mais il me met 'fonction dupliquée', alors qu'il y a une seule fonction sur plusieurs images (et non pas image-clés), mais je ne vois pas comment faire autrement!
merci
Messages postés
6146
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
10
tout ce que tu fais via code est gardé en mémoire et sur la scène quelque soit la frame où tu te trouves.
Si tu définis une fonction sur la frame 1 et la même sur la frame 2, il y a donc duplication de fonction, sachant que la première est toujours en mémoire.

Ne considère pas chaque frame comme une nouvelle page vide, ce n'est pas le cas.

Peg'
Messages postés
14
Date d'inscription
mardi 20 septembre 2011
Statut
Membre
Dernière intervention
19 janvier 2012

Merci
et si j'ai bien compris, c'est la même chose en procédant par séquences, puisque j'ai le même problème d'une séquence à l'autre...en plus certains codes dédiés à des boutons s'appliquent à d'autres boutons...là je ne vois pas comment faire, il n'y a donc pas moyen de réinitialiser les codes, ou de procéder par pages?
Messages postés
6146
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
10
Ton problème est que tu mélanges animation et programmation .. d'où le décalage que tu obtiens.

Peg'