panicq
Messages postés66Date d'inscriptionmardi 14 novembre 2000StatutMembreDernière intervention18 janvier 2010
-
17 janv. 2010 à 21:20
_benjy
Messages postés1575Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention21 février 2011
-
10 janv. 2011 à 18:55
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.
cs_mariemachin
Messages postés5Date d'inscriptionjeudi 16 octobre 2003StatutMembreDernière intervention28 janvier 2010 18 janv. 2010 à 16:03
À 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.
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);
}
_benjy
Messages postés1575Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention21 février 20112 10 janv. 2011 à 18:55
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.