blendman Utilisateur confirmé: Rang **
Messages : 433 Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.
| Sujet: grille isometrique (grid) Mar 20 Avr 2010 - 16:07 | |
| salut En ce moment, j'essaie d'intégrer un pathfinding plus performant que le mp_potential de base . J'ai donc regardé du coté des grid et c'est vrai que c'est vraiment très bien. Le seul soucis que j'ai est que la grille que je crée est faite de cases carrées. Je me demandais comment je pouvais faire pour avoir une sorte de grille isométrique pour mon chemin (path). Je suppose qu'il n'y a pas de code gml pour ça, mais une piste serait très appréciable, j'avoue . |
|
Invité Invité
| Sujet: Re: grille isometrique (grid) Mar 20 Avr 2010 - 18:34 | |
| |
|
blendman Utilisateur confirmé: Rang **
Messages : 433 Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.
| Sujet: Re: grille isometrique (grid) Mar 20 Avr 2010 - 20:08 | |
| - shm31 a écrit:
- quelques liens utiles pour le pathfinding isométrique
http://gmc.yoyogames.com/index.php?showtopic=231147 http://gmc.yoyogames.com/index.php?showtopic=367311 Merci pour les liens, mais je les connaissais déjà ; . Cependant, les scripts proposés sont assez longs et complexes à comprendre. La technique que j'utilise (trouvé sur GMC) est très simple en comparaison et effectue un path presque parfait, si ce n'est qu'il ne fonctionne pas complètement en iso. Le code : initialisation de la grille (grid) : - Code:
-
global.AI_grid = mp_grid_create(0,0,80,128,32,16) mp_grid_add_instances(global.AI_grid, block_o,1)
Puis dans un event global mouse left par exemple (sur l'objet de déplacement du personnage) -cible_o est l'objet "cible" du path (vers lequel on se dirige). - Code:
-
path_end();
if !mp_grid_path(global.AI_grid,mypath,x,y,cible_o.x,cible_o.y,true) { speed=0;
} else { mp_grid_path(global.AI_grid,mypath,x,y,cible_o.x,cible_o.y,1); path_set_kind(mypath,0.5); //diagonales path_start(mypath,5,0,false); } }
Donc, on peut voir que c'est vraiment très simple en comparaison des autres techniques . Sinon, on m'a dit répondu ça : "Use a rotational matrix transform on the coordinates of the objects to put them into a normal grid, then do the inverse transformation on the points/path it gives at the end " Mais je ne sais pas encore comment faire ça avec GM. Une idée ? |
|
Contenu sponsorisé
| Sujet: Re: grille isometrique (grid) | |
| |
|