Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS3
AS3 Questions relatives à la programmation ActionScript 3 (Cours AS3)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/06/2011, 15h08   #1
Nouveau Membre du Club
 
Inscription : janvier 2007
Messages : 149
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 149
Points : 39
Points : 39
Envoyer un message via MSN à Kuchiki Byakuya
Par défaut addChild et Listener

Bonjour à tous, je débute en as3 et j'ai un petit projet a faire pour les cours : un space invaders. J'ai commencé et le pilotage de l'avion et des alliens fonctionne correctement. Cependant pour tirer j'ai un gros soucis
Voilà mon bout de code :
Code :
1
2
3
4
5
6
7
8
function creerMissile()
{
	var leMissile:Roquette = new Roquette(avion.x,avion.y-5);
	leMissile.x = avion.x;
	leMissile.y = avion.y - 5;
	leMissile.vitesse_x = (Math.random()*10)- 5;
	addChild(leMissile);
}
j'ai importé une image nommée roquette et je lui ai donné comme nom de liaison Roquette.
mon soucis est qu'à l'execution je reçoit ce message concernant le addChild :
Citation:
1067: Contrainte implicite d'une valeur du type Roquette vers un type sans rapport flash.display : DisplayObject.
Si quelqu'un pouvait m'aider je n'y comprends rien

EDIT : j'ai trouvé mon probleme, j'avais oublié de convertir en symbole puis d'en faire un movieClip.
Du coup je me retrouve avec un autre problème :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
function deplacement(Evt:Event)
{	
	if(sens == 39)
	{	
		avion.x+=1;
		stage.addEventListener(KeyboardEvent.KEY_UP,arret);
	}
	else if(sens == 37)
	{
		avion.x-=1;
	}
	leMissile.y-=10;
	leMissile.addEventListener(Event,gererMissile);
Cette fonction déplace le vaisseau du héros et est sensé détruire le tir lorsqu'il sort de la scène. cependant mon Listener bug complètement, j'ai un problème avec mes arguments je pense. voici mon gererMissile :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function gererMissile(Evt.Event)
{
	if(nbShoot == 0)
	{
	leMissile.x = avion.x;
	leMissile.y = avion.y - 15;
	leMissile.vitesse_x = (Math.random()*10)- 5;
	addChild(leMissile);
	nbShoot++;
	}
	else 
	{
		removeChild(leMissile);
		nbShoot = 0;
	}
}
Je laisse ma première question au cas où ça servirait à quelqu'un. Le probleme est apparement le passage d'une class à une String. Si quelqu'un a une idée, je suis preneur
Kuchiki Byakuya est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 14h29   #2
Invité régulier
 
Femme
Étudiant
Inscription : juin 2011
Messages : 8
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 8
Points : 7
Points : 7
Salut,

En fait je ne sais pas si c'est une erreur de ta part mais on dirait qu'il manque la fonction relative à Event que tu observes dans l'écouteur :
Code :
leMissile.addEventListener(Event,gererMissile);
il faut que tu mettes comme un peu plus haut
Code :
stage.addEventListener(KeyboardEvent.KEY_UP,arret);
mimineFlash est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h56.


 
 
 
 
Partenaires

Hébergement Web