| Td : Difficulté a faire une détection d'instance | |
|
|
| Auteur | Message |
|---|
War-Tic Très bonne participation

Age : 17 Inscrit le : 09 Aoû 2005 Messages : 138 Localisation : En classe de Secondaire 4, en écoutant pas le prof et en fesant des dessin pour mes jeux ^^ : ────────── : Avancement :
  (0/100)
| Sujet: Td : Difficulté a faire une détection d'instance Lun 14 Avr - 20:27 | |
| Voila mon problème. je fais un Tower Defence pour mon cour d'info. j'ai tout qui fonctionne sauf le tir des tours. Les tours on une distances de vision défini. Lorsque qu'un ennemi rentre dans la zone, il le tire sans relache soit jusqu'a ce qu'il moeur soit jusqu'a ce qu'il quitte la zone et là la tours refait un check-up.
voici la partie de mon code
| Spoiler: | | | pour le step event:
| Citation: | if a = 0 { if distance_to_object(obj_ennemi_test) <= range { ennemi_id = collision_circle(x,y,range-4,obj_ennemi_test,0,1) alarm[0] = 1 a = 1 } } if a = 1 { if ennemi_id.hp <= 0 { alarm[0] = 0 a = 0 } if distance_to_object(obj_ennemi_test) >= range { alarm[0] = 0 a = 0 } }
|
pour l'alarm
| Citation: | with instance_create(x+16,y+16,obj_fleche); motion_set(point_direction(obj_tower_arcane_lvl_1.x+16,obj_tower_arcane_lvl_1.y+16,ennemi_id.x+16,ennemi_id.y+16),obj_tower_arcane_lvl_1.att_speed); alarm[0] = reload_speed;
|
|
Quand j'execute le jeu, lorsqu'un ennemi se fait détecté, il m'affiche un message d'erreur : unknown variable ennemi_id pourtant il est bien défini dans le create event.
s.v.p aidé moi _________________ S'il vous plait si vous connaissez des animes j'aimerais que vous me MP pour me dire leur nom.... J'en mange en tout temps des animes |
|
 | |
M@d_Doc Modérateur 'Programmation'

Age : 18 Inscrit le : 12 Fév 2005 Messages : 3809 Localisation : 47°44'8.04 : ────────── : Projet Actuel : trouver un contrat Avancement :
  (100/100)
| Sujet: Re: Td : Difficulté a faire une détection d'instance Lun 14 Avr - 20:41 | |
| collision_circle renvoie 0 ou 1 et non pas une id. La seule fonction de collision qui renvoie une id est instance_place
La meilleur solution est de faire une ds_priority_queue ou qqc comme ça, en stockant les ids de la instance_nearest de chaque ennemi, et de ressortir le plus proche. _________________
 |
|
 | |
Devil37 Utilisateur confirmé: Rang *****

Age : 15 Inscrit le : 20 Aoû 2006 Messages : 1700 Localisation : J'ai plus d'argent : ────────── : Projet Actuel : Unvanquished Territories Avancement :
   (5/100)
| Sujet: Re: Td : Difficulté a faire une détection d'instance Lun 14 Avr - 20:47 | |
| Lool, et instance_nearest() ?  C'est pas plus simple peut-être ? _________________
|
|
 | |
M@d_Doc Modérateur 'Programmation'

Age : 18 Inscrit le : 12 Fév 2005 Messages : 3809 Localisation : 47°44'8.04 : ────────── : Projet Actuel : trouver un contrat Avancement :
  (100/100)
| Sujet: Re: Td : Difficulté a faire une détection d'instance Lun 14 Avr - 20:51 | |
| oui s'il n'a qu'un ennemi. la ds_prority c'est s'il a des ennemis différents. _________________
 |
|
 | |
Devil37 Utilisateur confirmé: Rang *****

Age : 15 Inscrit le : 20 Aoû 2006 Messages : 1700 Localisation : J'ai plus d'argent : ────────── : Projet Actuel : Unvanquished Territories Avancement :
   (5/100)
| Sujet: Re: Td : Difficulté a faire une détection d'instance Lun 14 Avr - 20:53 | |
| Bon d'accord j'abdique  Et lol sinon plusieurs instance_nearest pour les objets et on prend la valeur inférieure.
Je me tais _________________
|
|
 | |
M@d_Doc Modérateur 'Programmation'

Age : 18 Inscrit le : 12 Fév 2005 Messages : 3809 Localisation : 47°44'8.04 : ────────── : Projet Actuel : trouver un contrat Avancement :
  (100/100)
| Sujet: Re: Td : Difficulté a faire une détection d'instance Lun 14 Avr - 20:55 | |
| ouais normalement je fait ça parce que je maitrise pas les ds_priority, mais alors faut un tableau 2D avec une ligne pour l'id et l'autre pour la distance, et en cherchant le min des distances, comment savoir sur quelle id ça pointe? _________________
 |
|
 | |
War-Tic Très bonne participation

Age : 17 Inscrit le : 09 Aoû 2005 Messages : 138 Localisation : En classe de Secondaire 4, en écoutant pas le prof et en fesant des dessin pour mes jeux ^^ : ────────── : Avancement :
  (0/100)
| Sujet: Re: Td : Difficulté a faire une détection d'instance Mar 15 Avr - 18:46 | |
| merci beaucoup de m'aidé, mais je sais pas utilisé la fonction ds_priority ou la ds_queue si quelqu'un aurrait un exemple en gm6 ou gm7 je le prendrai vonlontier pour l'étudier. sinon devil37 je vais essayer plusieurs instance_nearest.
merci pour le coup de main _________________ S'il vous plait si vous connaissez des animes j'aimerais que vous me MP pour me dire leur nom.... J'en mange en tout temps des animes |
|
 | |
daminetreg - Administrateur -

Age : 18 Inscrit le : 11 Fév 2005 Messages : 16182 Localisation : Siege du CBNA! : ────────── : Projet Actuel : Game Maker Human Input Avancement :
   (60/100)
| Sujet: Re: Td : Difficulté a faire une détection d'instance Lun 21 Avr - 19:20 | |
| Méfies toi des fonctions ds_ elles ne sont pas finies dans Game Maker et la plupart sont innefectives, tu peux te limiter à un tableau, l'avantage des ds_queue et autre c'est que c'est compiler avec l'exe, on a donc une plus grande rapidité d'accès et la possibilité de gérer plus de données qu'avec les tableaux.
Tu peux d'ailleurs très bien reproduire le fonctionnement des ds_queue et priority en faisant tes propres fonctions, ce sera plus sûr, du moins en version 6 et 7 certaines fonctions ds_ sont inopérantes. _________________
 Mon CV
Tous Ensemble! Réalisons! I want (and I need) to show you my work, but the time is against me. |
|
 | |
| Td : Difficulté a faire une détection d'instance | |
|