cs_louissi
Messages postés5Date d'inscriptionvendredi 23 janvier 2004StatutMembreDernière intervention25 août 2004
-
25 août 2004 à 07:29
cs_louissi
Messages postés5Date d'inscriptionvendredi 23 janvier 2004StatutMembreDernière intervention25 août 2004
-
25 août 2004 à 21:11
Salut! J'aimerais que vous jetiez un oeuil a mon code:
(code de la balle(px et py sont défini avant, cer pas sa le prob):
while (sit == 0)
{
_x += px;
_y += py;
if (_x > 550 or _x < 0 or _y > 400 or _y < 0)
{
sit = 1;
}
for (i = _root.monstercreator.izombie; i >= 100; i -= 1)
{
if (eval ("_root.zombie" + i).hitTest (this._x, this._y, true))
{
eval ("_root.zombie" + i).zombiein.gotoAndStop ("die");
sit = 1;
}
else if (_root.zombie.hitTest (this._x, this._y, true))
{
_root.zombie.zombiein.gotoAndStop ("die");
sit = 1;
}
}
}
if (sit == 1)
{
_visible = false;
}
Mon probleme est que j'ai un for and un while... le prob cer que c'est la seule facon que je conaisse pour vérifier la collision entre ma balle et un zombie qui a été dupliqué, ayant un nom du genre: "zombie1 , zombie2, zombie3, etc.."
Quelqun a une facon pour que ca arete de lager ou tout simplement une autre façon de véifier les collisions?
cs_louissi
Messages postés5Date d'inscriptionvendredi 23 janvier 2004StatutMembreDernière intervention25 août 2004 25 août 2004 à 09:36
ca marche pas :(
faut savoir aussi que la frame qui contien le code joue 40fois par seconde..
frame1: les valeurs initiales, celles qui sont établies au debut comme px et py
cs_adv
Messages postés149Date d'inscriptionvendredi 30 mai 2003StatutMembreDernière intervention28 janvier 20112 25 août 2004 à 11:29
Je pense que c'est simplement la limite possible pour flash avec ce code. 40 img /sec avec le nombre d'itération qu'il y a dans la boucle, je pense que c'est normal que ça ne suive pas.
Il faudrait essayer avec une autre approche. Ce serait peut-être préférable que ce soit les zombies qui chacun pour soit contrôle qu'ils ne sont pas en colision avec l'objet. Ainsi, plus de while, plus de for et un code plus propre.
A essayer
cs_louissi
Messages postés5Date d'inscriptionvendredi 23 janvier 2004StatutMembreDernière intervention25 août 2004 25 août 2004 à 21:11
le problème c'est que je veut que ma balle avance a la vitesse de la lumiere, et la seule facon de le faire cer d'utiliser un while. Si j'ogmentais la distance qu'elle parcoure a chaque frame, le prob cer que parfois elle passe a travers les objets. Donc je suis obligé d'utiliser un while. Mais le problème ce n'est pas le while, mais bien le fait que je doive vérifier le nom de chaque zombie... Je ne peut pas mettre les teste de collision dans le zombie, car la balle parcoure logiquement tout le tableau en une frame, donc les zombie de détectent pas la collision (j'ai esseyé). Ma seule facon de m'en sortir, c'est de trouver une commande qui veut dire: "nimporte quel nombre". Comme un 2 "frimé" quand on jou au carte... une commande qui égalerait tout les nombres a la fois. Ne me sortez pas le random();, cer pas de ca que je parle... ca cer n'importe quel nombre au hazard...
Pour résumer, je dois me débarasser du "for" dans mon code.