Evènement onPress sur MovieClip déclarés par des classes
buzhug35
Messages postés15Date d'inscriptionsamedi 5 janvier 2008StatutMembreDernière intervention 3 septembre 2011
-
19 juil. 2007 à 22:49
buzhug35
Messages postés15Date d'inscriptionsamedi 5 janvier 2008StatutMembreDerniè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.
A voir également:
Evènement onPress sur MovieClip déclarés par des classes
buzhug35
Messages postés15Date d'inscriptionsamedi 5 janvier 2008StatutMembreDerniè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
cs_bali_balo
Messages postés1378Date d'inscriptionsamedi 9 octobre 2004StatutMembreDernière intervention 1 novembre 20101 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
buzhug35
Messages postés15Date d'inscriptionsamedi 5 janvier 2008StatutMembreDerniè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)