Accueil > Forum > > > > problème this et root
problème this et root
lundi 4 avril 2005 à 16:11:56 |
problème this et root

mailys6
|
J'ai un petit souci dans la fonction suivante :
this['Lb'+i].onRelease= function() { this.stopDrag(); cible = this._droptarget.substring(1); this._x= _root[cible]._x; this._y = _root[cible]._y; }
C'est une fonction simple. J'ai un clip dont le nom commence par "Lb" suivi d'un numéro. Ce clip est créer dynamiquement avec createEmptyMovieClip. Lorsque je lâche le clip, si il y a un clip en dessous, alors je veux qu'il se mette aux mêmes coordonnées. La fonction ci dessus fonctionne, seulement des paramètres qui ne dépendent pas de moi font que je ne peux utiliser _root[]. Dans ce cas, que dois-je utiliser ? J'ai essayé this : this._x= this[cible]._x mais ça ne marche pas. C'est compréhensible car dans ma fonction this est l'objet courant donc "Lb"+ i. Mais sinon je ne vois pas comment faire référence à "cible" qui se trouve sur la scène et qui est lui aussi un clip créer dynamiquement. Une idée ?
Merci d'avance
Mailys
|
|
lundi 4 avril 2005 à 17:25:18 |
Autre problème !

mailys6
|
Dans la même fonction, j'ai également un autre problème. La cible étant un clip créée dynamiquement, je crois que je n'arrive pas à le voir. Je m'explique : Pour chaque clip que je veux déplacer, je crée un clip cible, de manière dynamique
this.createEmptyMovieClip('Lb'+i, a); this.createEmptyMovieClip('Label'+i, a);
Label1 est la cible de Lb1, Label2 est la cible de Lb2 ... Je précise que Lb1, Lb2 ... contiennent un TextField, créer dynamiquement avec createTextField.
A l'origine Lb1, Lb2 ... sont placés à droite. Label1, Label2 ... sont placés sur un schéma. L'utilisateur doit placer correctement Lb1 sur Label1, Lb2 sur Label2 ...
Avec la fonction suivante, je n'arrive pas à récupérer le nom d'un clip créer dynamiquement.
this['Lb'+i].onRelease= function() { this.stopDrag(); cible = this._droptarget.substring(1); this._x= _root[cible]._x; this._y = _root[cible]._y; }
C'est à dire, si je crée un clip avec l'interface de flash, et que je lâche Lb1, Lb2 ... sur ce clip, la variable "cible" de la fonction retourne bien le nom du clip. Mais si je lâche Lb1, Lb2 ... sur un clip que j'ai créée dynamiquement, "cible" est vide.
Est-ce donc impossible à faire ? Merci pour votre réponse !
Maïlys
|
|
mardi 5 avril 2005 à 00:45:10 |
Re : problème this et root

goldenboy68
|
extrait de ton message:
this.createEmptyMovieClip('Lb'+i, a); this.createEmptyMovieClip('Label'+i, a);
tu crées dynamiquement 2 clips à la même profondeur! Change déjà ça...si ça marche pas...revient! lol
@+! Samy
|
|
mardi 5 avril 2005 à 10:25:53 |
Re : problème this et root

mailys6
|
C'était une bonne idée. Malheureusement entre les deux, j'incrémente "a". J'pensais que tu avais trouvé la solution à mon problème, mais non. J'vais encore galérer aujourd'hui. Voici l'intégrité de mon code, au cas où tu aurais une autre idée :
// NbLabels est mon nombre d'étiquettes à faire for(i = 1 ;i<=currentQuizQuestion.NbLabels;i++) { a = a +1;
//Création du format du texte myfmt = new TextFormat(); myfmt.font = "Microsoft Sans Serif"; myfmt.size = 10; myfmt.align = "center";
//Création du premier clip, qui est placé sur le côté this.createEmptyMovieClip('Lb'+i, a); this['Lb'+i]._x = this._x + this._width - currentQuizQuestion.Labels[i].getW()-20; this['Lb'+i]._y = nextLabel;
a = a + 1;
//Création d'un texte dans le movieClip this['Lb'+i].createTextField('Txt'+i, a, 0,0, currentQuizQuestion.Labels[i].getW(), currentQuizQuestion.Labels[i].getH());
//Paramétrage du texte with(this['Lb'+i][['Txt'+i]]) { text = currentQuizQuestion.Labels[i].Txt; setTextFormat(myfmt); background = true; backgroundColor = "0x" + currentQuizQuestion.DefaultColor; border = true; wordWrap=true; selectable = false; } nextLabel = nextLabel + this['Lb'+i]._height + 10; // Pour placer les étiquettes les une en dessous des autres a = a + 1;
//Création du clip qui servira de cible this.createEmptyMovieClip("Label" + i,a); //On dispose ce clip autour d'une image this['Label'+i]._x = currentQuizQuestion.Labels[i].getX(); this['Label'+i]._y = currentQuizQuestion.Labels[i].getY(); this['Label'+i]._width = currentQuizQuestion.Labels[i].getW(); this['Label'+i]._height = currentQuizQuestion.Labels[i].getH(); //Pour chaque étiquette il peut y avoir plusieurs flèches for(j=1;j<=currentQuizQuestion.Labels[i].getNbArrow();j++) { a = a + 1; //Création de la flèche this.createEmptyMovieClip('Arrow'+j,a); //Paramétrage et création de la ligne with(this['Arrow'+j]) { lineStyle(currentQuizQuestion.ArrowBorder,"0x" + currentQuizQuestion.ArrowColor,100); if(this['Label'+i]._x<this._width/2) //L'étiquette est à gauche de l'image moveTo(this['Label'+i]._x + this['Label'+i]._width,this['Label'+i]._y + this['Label'+i]._height/2); //On fait la ligne du coin droit vers l'image else //Sinon on fait la ligne du coin gauche vers l'image moveTo(this['Label'+i]._x ,this['Label'+i]._y + this['Label'+i]._height/2); lineTo(currentQuizQuestion.Labels[i].Arrows[j].ArX,currentQuizQuestion.Labels[i].Arrows[j].ArY); } } //Définition des fonctions de déplacement this['Lb'+i].onPress = function() { this.startDrag(); } this['Lb'+i].onRelease= function() { this.stopDrag(); cible = this._droptarget.substring(1); //On récupère le clip qui est en dessous //On applique les coordonnées du clip du dessous au clip lâché this._x= _root[cible]._x; this._y = _root[cible]._y; } }
C'est bizar que j'arrive à récupérer un clip "fixe" et pas un clip créer dynamiquement. Est-ce une limite de Flash ?
Merci d'avance en tout cas
Mailys
|
|
mardi 5 avril 2005 à 11:20:28 |
Re : problème this et root

goldenboy68
|
Réponse acceptée !
Re,
...avec les 2 lignes qui se suivaient, j'avais pas vu de a++! lol
J'vais jeter un oeil à ton code...mais c'est plus pratique de
travailler sur le .fla pour voir où sont les erreurs (sans avoir à se
casser la tête pour refaire un nouveau fichier qui pourrait marcher
avec ton code...suis un peu fénéant ce matin!)
...première idée: quand tu testes ton animation, va voir dans
"Déboguer", "lister les objets"...tu verras le chemin exact où est créé
ton clip dynamiquement...
@+! Samy
PS: gold_samuel-codessources@yahoo.fr
|
|
mardi 5 avril 2005 à 14:22:50 |
Re : problème this et root

goldenboy68
|
Réponse acceptée !
Voilà:
this['Lb'+i].onRelease= function()
{
this.stopDrag();
cible_testSamy =
String(eval(this._droptarget)); //eval permet de récupérer
_level0.nomduclip au lieu de /nomduclip
cible_testSamy=cible_testSamy.substring(8,cible_testSamy.length-5); //
le 8, pour supprimer _level0. et -5 pour supprimer .txt1 (si t'as plus
de 10 labels...faudra tester et mettre -6, ou alors créer des txt01 )
trace(cible_testSamy);
this._x= this._parent[cible_testSamy]._x;
this._y = this._parent[cible_testSamy]._y;
//PS: ça marche pour un des 2
clips créés dynamiquement...mais y'a la méthode...suffira juste de voir
avec swapDepths() par exemple sur le onPress() et le onRelease()
}
...en espérant que ce soit suffisant pour répondre à ta question!
@+! Samy
|
|
mardi 5 avril 2005 à 15:45:10 |
Re : problème this et root

goldenboy68
|
Réponse acceptée !
aller, pour être complet:
this['Lb'+i].onPress = function()
{
this.swapDepths(1000); //c'est suffisant apparemment, pas besoin de gérer sur onRelease
this.startDrag();
}
@+! Samy
|
|
Cette discussion est classée dans : fonction, clip, root, cible, lb
Répondre à ce message
Sujets en rapport avec ce message
Changer clip en fonction de la date [ par caroel ]
Bonjour tout le monde !Je débute avec actionscript et il y a un truc que je pige pas...Je voudrais mettre un clip différent (de la bibliothèque) sur l
hitTest et clip animé [ par claviskass ]
Salut.Ici mon code, un « hitTest » tout simple, mais voilà dés que je touche "place" mon clip "cible" ne joue pas sa série de frames en utilisant le "
question sur angle de sourie, rotation de clip.... [ par flow38 ]
Salut alors, voila pour un site j'ai fait une interface ou face a un coffre fort l'internaute devra faire tourner les bagues afin d'obtenir le bon cod
_root.link [ par julesz ]
Bonjour à tous,J'ai quelques difficulté à faire évoluer un site développé en Flash :Les boutons de mon menu utilisent la fonction suivante pour affich
problème au survol d'un clip dans une zone cible [ par ouiart ]
J’ai une bande composée de plusieurs images qui sont des clips, l’ensemble des images est un clip, et le tout fonctionne parfaitement “tel quel” mais
Lire une animation a l'envers...pas un clip!!! [ par timore ]
RZAREKBOnsoir, je voulais savoir si il existe le moyen de rembobiner une animation.J'ai trouver ceci:Rewind = function(cible) { cible.prevFrame();
Déclaration d'une fonction dans un clip [ par yahrou ]
Voilà, j'explique mon problème.C'est simple, je veux associer une fonction à un clip. J'ai un clip nommé "des" dans le lequel je déclare une fonction
Besoin d'aide [ par korrigan33 ]
Alors voila :j'ai une animation externe que je voudrais charger dans mon fla mais que les variables _root de cette animation reste dans le clip ou j'a
faire apparaitre un movie clip en fonction de la position du curseur [ par stofkriii ]
bonjour, j'aimerai declencher la lecture d'un movie clip lorsque le curseur de la souris pénètre dans une zone bien delimitée (52x150 pixels), ce movi
pb drag and drop [ par tibo_c ]
Bonjour tout le monde,Je fais actuellement une appli où j'ai besoins de faire un drag and drop d'une image d'un clip (type ajax) pour l'emmener dans u
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|