Accueil > Forum > > > > Pbs de jeu de tir
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
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|