Evènement onPress sur MovieClip déclarés par des classes

buzhug35 Messages postés 15 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 3 septembre 2011 - 19 juil. 2007 à 22:49
buzhug35 Messages postés 15 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 3 septembre 2011 - 21 juil. 2007 à 15:30
Bonsoir,
Afin de faire travailler ma fille sur les fractions je lui conconcte des pages via flash.
Cela fait déjà pas mal de temps que je m'arrache les cheveux sur le problème suivant :
Pour créer des carrés découpés en carreaux pas de soucis : je crée des clips de type case et incorpore dans le clip le "onPress" qui me permet d'en changer la couleur des cases par simple clic dessus ; les cases sont ensuite agencées par l'intermédiaire des fonctions de classe.
Là où cela se corse c'est pour les "parts de pizzas" : je suis obligée de les dessiner à l'intérieur de la déclaration de classe et du coup pour activer la fonction changeCouleur je dois y faire appel dans le script de l'animation via un "partdisque1_mc.onPress", puis un "partdisque2_mc.onPress" pour la deuxième part, etc. Çà va bien quand il n'y a qu'un nombre limité et défini de parts, mais si je veux partager de façon aléatoire mes disques (donc un nombre de parts aléatoire) je suis bien ennuyée …
D'avance merci à celui qui a compris quelque chose à mon charabia et qui peut m'aider.

4 réponses

cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
20 juil. 2007 à 13:11
De ce que j'ai compris tu voudrais créer une roue avec plusieurs segment?
Si c'est le cas, j'ai la soluce

bali_balo....=]
0
buzhug35 Messages postés 15 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 3 septembre 2011
20 juil. 2007 à 14:33
Bonjour,
Je la veux bien cette solution.
Voilà où j'en suis :
Dans le fichier de classe, la fonction constructeur est la suivante :
/* Constructeur */
public function UnePartDisque(ptcentre:Array,dimrayon:Number,nbpart:Number,paramdessin:Array,cible:MovieClip,nom:String,profondeur:Number)
{
taille=nbpart;
// crée le clip
conteneur_mc=cible.createEmptyMovieClip(nom,profondeur);
// configure les paramètres de dessin
setParamDessin(paramdessin);
// initialise le centre
setCentre(ptcentre);
// initialise le rayon
setRayon(dimrayon);
// changement de couleur
conteneur_mc.onPress=function ()
{
trace("coucouc");
if (nonclique) nonclique=false;
else nonclique=true;
dessine();
}
}

et la fonction dessine() est la suivante :
public function dessine():Void
{
trace("couc");
// efface le contenu précédent
conteneur_mc.clear();
//choisit la couleur
if (nonclique) couleur_remplissage=couleur_nonclique;
else couleur_remplissage=couleur_clique;
// définit le style de trait
conteneur_mc.lineStyle(epaisseur_trait,couleur_trait);
// positionne le premier point
conteneur_mc.moveTo(0,0);
// définit la couleur de remplissage
conteneur_mc.beginFill(couleur_remplissage,100);
// exécute le tracé
conteneur_mc.lineTo(0,0-rayon);
pas_dessin=100;
curseur_dessin=0;
for (curseur_dessin=0;curseur_dessin
0
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
20 juil. 2007 à 21:19
je peux pas lire ce code. Trop illisible...
Soit tu m'envois tes scripts et ton fichier zip par mail.
Soit je te propose de voir ce site : www.zone-flash.net

bali_balo....=]
0
buzhug35 Messages postés 15 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 3 septembre 2011
21 juil. 2007 à 15:30
J'ai bien essayé le mesage privé mais je n'arrive pas à voir où on joint les fichiers … J'ai aussi du mal à faire des retrour à la ligne dans les messages !

Voici un autre essai (plus simple, l'idée étant de voir où cela cloche … c'est d'ailleurs son seul intéret !). J'ai un clip tout bête : un rectangle avec une zone de texte qui s'appelle "texte". Lorsque je clique dessus, je voudrais que le texte change.

Voici le script de classe :

class UnClipEssai

{

var conteneur_mc:MovieClip;



public function UnClipEssai(cible:MovieClip,nom:String,profondeur:Number)

{

conteneur_mc=cible.attachMovie("clip_test_mc",nom,profondeur);

setTexte("premier contenu");

conteneur_mc._x=150;

conteneur_mc._y=150;

conteneur_mc.onPress=function()

{

dessine();

}

}


public function setTexte(letexte:String)

{

conteneur_mc.texte_txt.text=letexte;

}


public function dessine()

{

trace("coucou");

_parent.setTexte("second contenu");

}


}


J'avais essayé sans le _parent aussi, l'effet est le même : je peux cliquer sur le clip, le "coucou" s'affiche mais le texte du clip ne change pas.
0
Rejoignez-nous