Error #1034: Echec de la contrainte de type : conversion de flash.events::Event@ [Résolu]

Grongol 3 Messages postés mercredi 29 février 2012Date d'inscription 1 mars 2012 Dernière intervention - 29 févr. 2012 à 16:46 - Dernière réponse : Grongol 3 Messages postés mercredi 29 février 2012Date d'inscription 1 mars 2012 Dernière intervention
- 1 mars 2012 à 13:58
Bonjour à tous. Je suis étudiant en informatique et je débute en flash... J'utilise adobe flash C5.5 et j'ai un projet de petit jeu avec un vaisseau qui doit détruire des ennemis en leur tirant dessus.

Voici mon code:

if (e.keyCode == Keyboard.SPACE){			//quand on appuie sur espace

var tirRayon:Tir_fusee=new Tir_fusee();		//instansiation d'un nouveau rayon
addChild(tirRayon);
tirRayon.x=fusée.x+125;		//placement du rayon en face de la fusée
tirRayon.y=fusée.y+30;
avanceTir(tirRayon);		//deplacement du rayon


} 


Je ne met pas toute la fonction ce n'est que la partie qui pose problème.

J'appelle la fonction avanceTir :


stage.addEventListener(Event.ENTER_FRAME , avanceTir);

function avanceTir(tirRayon:Tir_fusee):void{

tirRayon.x+=10;			//le rayon avance
}


Et quand je lance mon animation j'ai une erreur qui s'affiche à chaque frame : "TypeError: Error #1034: Echec de la contrainte de type : conversion de flash.events::Event@2977c241 en Tir_fusee impossible."


Alors comme ça s'affiche à chaque frame je présume que le problème vient de la fonction avanceTir et je pense que ça vient du paramètre, mais impossible de trouver ce qui ne va pas!!
J'ai essayer de déclarer tirRayon comme étant un Event et même en tant qu' Object mais à ce moment là j'ai une erreur du style "la methode x n'existe pas"...
Je ne sais plus quoi faire....
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
pegase31 6161 Messages postés dimanche 21 décembre 2003Date d'inscription 4 septembre 2013 Dernière intervention - 1 mars 2012 à 13:37
3
Merci
Alors il faut que tu crées un tableau contenant tes tirs et que tu les contrôles à la suite en parcourant le tableau. Comme ça plus de soucis de variables.

Peg'

Merci pegase31 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de pegase31
pegase31 6161 Messages postés dimanche 21 décembre 2003Date d'inscription 4 septembre 2013 Dernière intervention - 1 mars 2012 à 09:37
0
Merci
Bonjour, dans ton cas c'est assez simple :
Tu déclenches une fonction par un écouteur via un Event.ENTER_FRAME, donc le paramètre de cette fonction doit forcément être de type Event. D'où ton message d'erreur.

Pour arranger ton soucis, il faut que tu cibles le tir autrement que via le paramètre de la fonction, qui est déjà attribué d'office.

Peg'
Commenter la réponse de pegase31
Grongol 3 Messages postés mercredi 29 février 2012Date d'inscription 1 mars 2012 Dernière intervention - 1 mars 2012 à 13:08
0
Merci
Ok je comprend mieux. Seulement comment je déclare ma variable tirRayon. Parce que que j'ai essayer de la déclarer en étant global mais à chaque fois que j'appuie sur espace le précédent rayon s'annule et un nouveau apparait. Je voudrais que à chaque fois que j'appuie sur espace une nouvelle instance se créer et ne remplace pas la précédente.
Commenter la réponse de Grongol
Grongol 3 Messages postés mercredi 29 février 2012Date d'inscription 1 mars 2012 Dernière intervention - 1 mars 2012 à 13:58
0
Merci
Ok merci, je vais faire ça!
Commenter la réponse de Grongol

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.