supmaster004 Utilisateur confirmé: Rang *****
Messages : 2188 Localisation : x=23.256842 y=43.456879 Projet Actuel : Faire des parodies de jeux en 1h
| Sujet: Re: petit "rts" Sam 5 Juin 2010 - 13:58 | |
| euh.... c'est instance_nearest(x,y,object0) ..... avec x,y la position dont l'objet est le plus proche (ce que tu cherches, quoi.) je sais pas si c'est ca qui plante, mais je ne conçois pas du tout comment une fonction peut retourner 4 id différents..... :hehe: il faudrait que tu précises un peu plus ce qui ce passe. faut aussi savoir que si les 4 objets sont à la meme distance de x,y (ce qui est peu probable) alors la fonction choisit celui qui a la depth la plus basse. - Spoiler:
[taupin]mais c'est franchement bizarre ton truc.... 4 id en meme temps, c'est inhomogène , c'est comme si tu demandais à quelqun quel est l'objet le plus proche et l'autre te répond qu'il y a 4 objets et il te donne leur nom.Bon c'est cool, mais à la limite tu t'en fous quoi....[/taupin]
|
|
marty Utilisateur confirmé: Rang ***
Messages : 697 Projet Actuel : laby-ereinte !
| Sujet: Re: petit "rts" Sam 5 Juin 2010 - 17:53 | |
| :p_hello: je poste un exemple chaque objet affiche son id et l'id de l'objet sensé etre le plus proche mais il me retourne la sienne quand il est lui même l'objet comme argument ou quand on met all la seule façon pour que ça marche c'est que les objet soit différent ce qui est pénible lorsque l'on essaie de faire un rts car les objets sont multipliés et gm coordonne l'ensemble des instance d'un même objet comme si c'était un tout et non des objets distincts. il faut alors recourir au id http://www.yoyogames.com/games/130547-id-objet-proche |
|
supmaster004 Utilisateur confirmé: Rang *****
Messages : 2188 Localisation : x=23.256842 y=43.456879 Projet Actuel : Faire des parodies de jeux en 1h
| Sujet: Re: petit "rts" Sam 5 Juin 2010 - 23:18 | |
| voui voui voui. Bon probleme assez complexe. On va dire que tu veux cibler l'ennemi le plus proche. Tous les objets ont une variable "team" qui représente leur équipe (par exemple 1 pour les gentils, 2 pour les mechants) et voici ce que tu me dans le step - Code:
-
global.posx=x global.posy=y global.team=team global.distance=9999 global.enemy=instance_furthest(x,y,object_basic)
with object_basic { if point_distance(x,y,global.posx,global.posy)<global.distance && team!=global.team {global.distance=point_distance(x,y,global.posx,global.posy) global.enemy=id}}; et ensuite, tu utilise global. enemy, c'est l'id de l'objet le plus proche qui est pas de ta team par exemple, dans le cas du déplacement que je t'ai donné, gox=20*round(((global.enemy).x)/20) goy=20*round(((global.enemy).y)/20) hope that helped n'oublie pas de remplacer object_basic par le parent de tous les objets |
|
marty Utilisateur confirmé: Rang ***
Messages : 697 Projet Actuel : laby-ereinte !
| Sujet: Re: petit "rts" Dim 6 Juin 2010 - 0:23 | |
| c'est exactement la solution que je cherchais une variable team mais je ne pensais pas l'utiliser en global . merci |
|