Gizmil
Messages postés706Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 3 octobre 2022
-
19 déc. 2005 à 01:16
cortoh
Messages postés1255Date d'inscriptiondimanche 18 décembre 2005StatutMembreDerniè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.
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!
cortoh
Messages postés1255Date d'inscriptiondimanche 18 décembre 2005StatutMembreDerniè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...
cortoh
Messages postés1255Date d'inscriptiondimanche 18 décembre 2005StatutMembreDerniè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...
Gizmil
Messages postés706Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 3 octobre 20221 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!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Gizmil
Messages postés706Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 3 octobre 20221 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à?
cortoh
Messages postés1255Date d'inscriptiondimanche 18 décembre 2005StatutMembreDerniè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...
Gizmil
Messages postés706Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 3 octobre 20221 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.
cortoh
Messages postés1255Date d'inscriptiondimanche 18 décembre 2005StatutMembreDerniè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... =)
Gizmil
Messages postés706Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 3 octobre 20221 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.
cortoh
Messages postés1255Date d'inscriptiondimanche 18 décembre 2005StatutMembreDerniè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!