Ciblage undefined: problème bizarre

Gizmil Messages postés 706 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 3 octobre 2022 - 19 déc. 2005 à 01:16
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008 - 20 déc. 2005 à 16:17
Salut,

Voilà, j'ai un problème avec deux clips, je n'arrive pas à leur appliquer du code et cela parce qu'ils ne sont pas déctectés lors du ciblage.

J'ai tout essayé (les trace, le débogueur, la mire de ciblage dans le panneau "Actions", etc). Ce qui est bizarre, c'est que la mire de la palette "Actions" les détecte mais pas le débogueur ni les trace. Les clips possèdent bien leur nom d'occurence, j'ai vérifié si tout était bien en place mais rien n'y fait, ce problème reste insoluble pour moi (si ça se trouve, c'est un truc tout bête).
Comme il est important que je trouve la réponse, j'ai mis le fla en ligne.

http://gizmil.jexiste.fr/cosmikrogertests/test.fla

Vous ne vous étonnerez pas, j'ai remplacé un maximum d'éléments figuratifs (copyrighted) par des formes basiques. Le triangle est normalement un vaisseau et les cercles sont des planètes.

Quand on clique sur une planète, le vaisseau est censé allumer ses boosters et filer en rappetissant vers la planète cliquée. Le problème, c'est que les boosters ne se déclenchent pas toujours alors qu'ils devraient.

Si vous avez le temps d'y regarder, ce serait super, ça me retirerais une fameuse épine du pied! Merci!

11 réponses

Gizmil Messages postés 706 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 3 octobre 2022 1
19 déc. 2005 à 01:18
Argh! Que se passe-t-il? La mise en page du post a disparu! J'espère que vous saurez lire!
0
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
19 déc. 2005 à 01:38
ok, tes shipPos02 et shipPos06, y sont ou dans le clip shipRotation? je veux dire, physiquement? tu remarqueras ton instance de shipPos01_gr est traite comme un graphic... c'est surement voulu, mais sait on jamais... et sur la frame 75, l'instance de shipPos02_mc n'a pas de nom... a y est, j'ai trouve shipPos02, sur la frame 76... hehe, petit ruse, il se cachait bien...


Peace from Mars
to all human beings
0
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
19 déc. 2005 à 01:46
j'ai trouve! mais je te le dirai pas!


Peace from Mars
to all human beings

non, je deconne, bon sur la frame 1 du clip shipPos02 tu declares: _global.shipPos02=this;
commentes cette ligne, soit:
//_global.shipPos02=this;
et met une action trace a la place, du genre
trace("COUCOU!!!")
et poof, quand je lance le jeu, et que je vais vers la plus petite planete en bas a gauche, dans ma fenetre F2 ca dit: COUCOU!!! et bon, apparement, d'avoir commente la ligne n'a pas l'air d'avoir perturbe le script... mais bon, je te laisse juge...
0
Gizmil Messages postés 706 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 3 octobre 2022 1
19 déc. 2005 à 13:54
Attend, je ne suis pas sûr de bien suivre ton raisonnement.



En fait, le _global.shipPos02=this; ne devrait pas être dans le
.fla. Je me rend compte, ainsi que tu m'en parles, que j'ai oublié de
le retirer. Je l'avais utilisé pour faire un test de trace et voir ce
que me renverrais la variable shipPos02.

Quand je fais ce test, le résultat est celui-ci:

_level0.shipVaEtViens.shipRotation.instance66

En supposant que "instance66" soit mon clip, je peux, en toute logique, me servir de la variable shipPos02 pour le cibler.

Eh ben maintenant que je revérifie, effectivement, ça marche! Quand
j'avais essayé la première fois, ça ne marchait pas (râââh!).



Donc, je suppose que c'est ça que tu voulais dire.



Evidemment, ça ne m'explique pas pourquoi ça ne fonctionne pas quand
j'essaye de faire fonctionner le tout en utilisant un nom d'occurence
sur mon clip mais si ça fonctionne comme ça, je vais peut-être m'en
tenir à ça et pas me casser la tête plus longtemps!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
19 déc. 2005 à 13:58
je crois que si tu veux "predefinir" this, il faudrait pluto ecrire: this = _global.shipPos02 ... je crois... et non l'inverse... je crois..


Peace from Mars
to all human beings
0
Gizmil Messages postés 706 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 3 octobre 2022 1
19 déc. 2005 à 14:10
Moui, mais ça change quoi? C'est pas plus logique de commencer
par marquer le nom de la variable? Les exemples de l'aide de Flash
utilisent la variable en premier lieu, non?

Je pose la question, hein, je suis débutant donc je ne connais pas
tout. L'indiquer dans le sens inverse ne me semble pas faux mais y
aurait-il une raison au fait de l'indiquer dans ce sens-là?
0
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
19 déc. 2005 à 14:30
t'en fais pas, moi aussi je debute, ca fait pas un mois que j'ai mis les mains dedans... sinon, en general la partie gauche de ta declaration c'est la variable et la partie droite, c'est sa valeur.
ex: var A:Number 3 si tu changes, et ben ca donne var 3:Number A ... bof...

Peace from Mars
to all human beings
0
Gizmil Messages postés 706 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 3 octobre 2022 1
19 déc. 2005 à 23:02
En fait, je viens de me rendre compte que ce que tu me
dis, c'est une grosse erreur. Tu n'as pas le droit de donner une valeur
à l'expression this vu que this est une expression utilisée par
ActionScript et donc réservée, elle exprime déjà quelque chose (this=le
clip dans lequel on se situe) et comme c'est une expression réservée
par actionscript, tu n'as pas le droit d'essayer de la modifier,
c'est-à-dire l'utiliser comme nom de variable (tu peux essayer mais ça risque de poser plein de problèmes et je ne te le conseille pas).
Il y a toute une série de mots pré-déterminés et employés, réservés par
ActionScript qu'on doit éviter d'utiliser dans des noms de variables.

Donc le
this, ça ne peut être que la valeur de la variable et pas l'inverse.




Donc, en suivant ton exemple:



var A:Number 3 si tu l'inverse, ça donne var 3:Number A

var shipPos02 this; si tu l'inverse, ça donne this _global.shipPos02;



vert = correct

rouge = incorrect



var 3:Number = A, tu vas voir que ce n'est pas logique. En écrivant, ce script, tu dis:



"Le chiffre 3 est égal à A".



=> 3 est un chiffre, il est déjà une valeur en lui-même donc tu ne
peux pas lui affecter une valeur différente. Ex, si A =5, c'est comme
si tu disais 3=5.



Je comprend ton raisonnement, tu te dis "La variable "3" pourrait être
le contenant de quelque chose" sauf qu'à cause de ce que je t'explique
ci-dessus, on ne peut pas. 3 = la valeur 3, point! On ne peut pas
modifier une valeur qui, par essence, est déjà une valeur.
0
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
20 déc. 2005 à 13:00
non, c'etait juste un exemple "parlant", bien evidemment, declare:
var 3:Number = A
c'est du grand n'importe quoi! , mais tu remarqueras que toi qui te posait la question sur la commutativite de des clarations de variables, ma petite connerie t'as bien fait reflechir dessus... =)

Peace from Mars
to all human beings
0
Gizmil Messages postés 706 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 3 octobre 2022 1
20 déc. 2005 à 14:39
"bien evidemment, declare:
var 3:Number = A
c'est du grand n'importe quoi!"



D'accord mais as-tu compris que le
problème n'était pas au niveau du code mais au niveau de son
principe même ? On ne peut absolument pas inverser, que ce soit dans
n'importe quel cas, pas seulement dans le cas de var 3:Number = A.



"ma petite connerie t'as bien fait reflechir dessus... =)"



J'ai jamais dis que c'était une connerie, d'aileurs je t'ai dis que ça
ne me semblait pas mauvais mais je me suis rendu compte (dans un flash
de lucidité) que pour des raisons de principes de fonctionnement, on ne
pouvait absolument pas inverser le code.
0
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
20 déc. 2005 à 16:17
c'est exactement ca: les declarations de
variables ne sont pas commutatives... heureusement d'ailleur; sinon
Flash y perdrait son latin, ou plutot, son AS... mouaahahahha!


Peace from Mars
to all human beings
0
Rejoignez-nous