begin process at 2012 05 27 18:25:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Pbs de jeu de tir


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pbs de jeu de tir

dimanche 17 janvier 2010 à 21:20:00 | Pbs de jeu de tir

panicq

Bonjour j'ai des petits problèmes sur un jeu de tir que je suis en train de faire. Déjà j'aimerai bien que mes objets "Ennemi" apparaissent moins massivement (car la mes occurrence apparaissent a chaque image). Et de deux mes collision m'envoient un message dans le style:

Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.

Voilà si vous pouvez m'aider dans mon projet ou me commenter, si il y a des problèmes dans mon code.

Merci d'avance.

Code ActionScript :
var flDroite:Boolean;
var flGauche:Boolean;
var flHaut:Boolean;
var flBas:Boolean;
var flSpace:Boolean;




stage.addEventListener(KeyboardEvent.KEY_DOWN, testDown);
stage.addEventListener(KeyboardEvent.KEY_UP, testUp);
stage.addEventListener(Event.ENTER_FRAME, deplacement);
stage.addEventListener(Event.ENTER_FRAME, evenement);


function evenement(e:Event):void
{
	if(flSpace)
	{
		var Projectil:MovieClip = new proj;
		Projectil.x = perso.x;
		Projectil.y = perso.y;
		addChild(Projectil);
		Projectil.addEventListener(Event.ENTER_FRAME, bougerProj);
	}
	
	
	function bougerProj(e:Event):void
	{
		Projectil.x += 10;
	}
	
	var Ennemi:MovieClip = new enne;
	Ennemi.x = 600;
	Ennemi.y = Math.random() * 400;
	
	addChild(Ennemi);
			
	
	Ennemi.addEventListener(Event.ENTER_FRAME, bougerEnn);
	
	function bougerEnn(e:Event):void
	{
		Ennemi.x -=4;
	}
	
	if(Projectil.hitTestPoint(Ennemi.x, Ennemi.y, true))
	{
		Ennemi.removeEventListener(Event.ENTER_FRAME, bougerEnn);
		removeChild(MovieClip(Ennemi));
	}
}

function testDown(e:KeyboardEvent):void
{
	if(e.keyCode == Keyboard.LEFT)
	{
		flGauche = true;
	}
	if(e.keyCode == Keyboard.RIGHT)
	{
		flDroite = true;
	}
	if(e.keyCode == Keyboard.UP)
	{
		flHaut = true;
	}
	if(e.keyCode == Keyboard.DOWN)
	{
		flBas = true;
	}
	
	if(e.keyCode == Keyboard.SPACE)
	{
		flSpace = true;
	}
}


function testUp(e:KeyboardEvent):void
{
	if(e.keyCode == Keyboard.LEFT)
	{
		flGauche = false;
	}
	if(e.keyCode == Keyboard.RIGHT)
	{
		flDroite = false;
	}
	if(e.keyCode == Keyboard.UP)
	{
		flHaut = false;
	}
	if(e.keyCode == Keyboard.DOWN)
	{
		flBas = false;
	}
	if(e.keyCode == Keyboard.SPACE)
	{
		flSpace = false;
	}	
}

function deplacement(e:Event):void
{
	if(flGauche == true)
	{
		perso.x -=4;
	}
	
	if(flDroite == true)
	{
		perso.x +=4;
	}
	
	if(flHaut == true)
	{
		perso.y -=4;
	}
	
	if(flBas == true)
	{
		perso.y +=4;
	}
}
lundi 18 janvier 2010 à 16:03:21 | Re : Pbs de jeu de tir

mariemachin




À force de transformer des bidules en trucs, j'obtiens des machins...

Bonjour, je ne suis pas une experte en as3 (à mon grand regret car du coup en ce moment j'en bave) mais je me demande si ton souci ne vient pas du fait que tu declares ta variable projectil dans ton if, du coup il ne la voit pas avant... essaie peut-être comme ça tout dépend ce que tu veux faire...

Autre chose, est-ce que ton perso est dans la scene avec un nom d'occurence? Car dans ton code il n'est pas déclaré nul part, enfin pas que j'ai vu.

Code ActionScript :
var Projectil:MovieClip = new proj;
addChild(Projectil);

function evenement(e:Event):void
{
	if(flSpace)
	{
		//var Projectil:MovieClip = new proj;
		Projectil.x = perso.x;
		Projectil.y = perso.y;
		//addChild(Projectil);
		
	}
lundi 18 janvier 2010 à 18:01:46 | Re : Pbs de jeu de tir

panicq

//var Projectil:MovieClip = new proj;
Projectil.x = perso.x;
Projectil.y = perso.y;
//addChild(Projectil);

Merci de ton aide mais si je retire ma var projectile qui crée une instance de mon objet que j'ai lié, l'objet ne prend en compte qu'un seul objet.

Si vous trouvez prevenez moi.

Merci d'avance

A peluche
lundi 18 janvier 2010 à 21:03:10 | Re : Pbs de jeu de tir

panicq

Personne ne peut m'aider svp?
lundi 10 janvier 2011 à 18:55:41 | Re : Pbs de jeu de tir

_benjy


Salut

Bon alors primo, tu vas avoir des problème avec ton code ... au dela de ton erreur, a ce que je lis, tu en aura d'autre.
Ex : la fonction "bougerProj" fait référence a la variable "Projectil", variable locale de la fonction "evenement", tu aura donc un problème d'accession de variable dès que tu aura 2 projectile.
pour corriger ca il te suffit d'utiliser la cible de l'évenement :
function bougerProj(e:Event):void {
e.currentTarget.x += 10;
}
et de même dans "bougerEnn"...
et ton prob d'accès a une variable dans un obj nul vient aussi sans doute de là.
tu essais d'appeler des propriété de l'objet "Projectil" qui n'existe que si tu as appuis sur espace, et encore uniquement dans la fraction de seconde d'éxecution du code.
imagine :
ta fonction "evenement" est appeler en permance, soit a une cadence de base 24 par seconde.
premier passage dans "evenement" on appuis pas sur espace, tu crees l'ennemi, l'ajoute a scene, et lui ajoute un ecouteur pour se déplacer puis tu test si "Projectil" touche "Ennemi"
hors "Projectil" existe pas ... bim erreur.
comprends-tu le problème ?
si tu fait de l'AS3, tu devrais te pencher sur la prog objet car là tu mélange un peu tes connaissance AS2 avec de l'AS3 je dirais ...
il faut que tu vois comment déclarer un class pour tes objets "proj" et "enne" et déclarer les écouteurs de mouvement et test de collision en dedans
allé courage ;)

Flash sans Limites
Amalgam Production - Développement Web Flash PHP MySQL - Identité visuel et audiovisuel.


Cette discussion est classée dans : true, keyboard, keycode, ennemi, if


Répondre à ce message

Sujets en rapport avec ce message

jeux en flash [ par lubellule ] Bonsoir :) voila j'essaye d'adapter un petit jeu en flash en reprenant un code trouvé sur le net mais je rencontre des problèmeshttp://lucile.deslande disparaition barre de controle PLAYER VIDEO [ par kevan7 ] Bonjour tout le mondeJ'ai un petit soucis avec mon player video. Je n'arrive pas a faire disparaitre la barre de controle lorsque le lecteur est en ta Problème pour gérer plusieurs sons [ par smawell ] Bonjour,Je suis confronté a un problème dans flash pour gérer plusieurs sons.Le fonctionnement désiré est le suivant: Plusieurs boutons sont disposés amélioreration du code [ par lapinou27 ] bonjour, je cherche un moyen d'améliorer le code suivant qui fonctionne mais qui me parrait bien lourd et je me demande s'il n'y a pas moyen de faire AS3==> 2 touches simulatnée sur un ecouteur clavier [ par delphijb ] Bonjour. voila, je suis en trian de faire un petit jeu de plateforme en AS3 et j'ai quelques soucis... [^^confus2] Comme le jeu sera jouable au clavi [ AS3 ] problemes de déplacement dynamique d'un Child [ par ptitvincent ] Bonjour à tou, Je suis actuellement sur le dev d'un jeu en flash pour mon apprentissage personnel (quelques un de mes problemes ont trouvé reponse ic CheckBox : choix multiples [ par toutsi83 ] Bonjour à tousComment formuler un script checkBox avec plusieurs réponses possibles ?Je me décide à poser cette question parce que cela fait plusieurs Payer FLV Probleme de transparence de la barre de controle [ par kevan7 ] Bonjour a tousJ'ai un petit soucis avec un player video que j'ai fais, le probleme est que lorsque je passe mon player en fullscreen il se trouve que Problème avec une boucle for. [ par catousa ] <link rel="Fi Molette de la souris s'accumulant... [ par Gloradan ] Chers amis bonjour.J'ignore si mes interrogations trouveront une réponse ici, mais j'éspère tout de même et remercie à l'avance les coups de mains.Pou


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,076 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales