Diskuze: Diablo 2 v pohybu
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 7 zpráv z 7.
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.
Koukni se na nějaký tutoriál ohledně pathfindingu.
Ahoj,
Dominik odkazoval na pathfinding, dovoluji si zkonkretizovat:
Nejlepším řešení pro tebe bude A* algoritmus, teorii načteš na wiki,
aplikace pro tebe určitě bude hračka GM / GMS má vestavěné funkce pro A* algoritmus, nicméně jsou
velmi špatně optimalizované, doporučuji využít některé z .dll knihoven ,
případně pokud ovládáš C/C++ sepsat knihovnu vlastní.
Hodně zdaru
Ak som to spravne pochopil tak chces aby sa pohy udial vzdy len na xovej
alebo yovej osy. Nemal by byt problem dat do stepu:
If distance_to_point(ciel.x,ciel.y)>0 then {
a=chosse(1,2);
If a=1 then {
If ciel.x<x then x-=1;
If ciel.x>x then x+=1;}
If a=2 then {
If ciel.y>y then y+=1;
If ciel.y<y then y-=1; }
}
Dany algoritmus je skor modelovy, chce to este optimalizaciu rychlosti, skor som
to napisal popisne aby bolo jasne ako vyhradit pohyb len do jedneho smeru.
Ahoj, jen korekce toho co jsi napsal:
if (distance_to_point(target.x,target.y)>2)
{
a=choose(1,2);
switch(a)
{
case 1:
{
if target.x<x {x-=1;}
else {x += 1;}
break;
}
case 2:
{
if target.y<y {y-=1;}
else {y += 1;}
break;
}
}
}
Algoritmus jako takový funkční, nicméně iq algoritmu = 0, použij A* tohle je funkční jen za předpokladu,že ve hře nemáš žádné překážky.
pro chain: nedoporučuji u funkce distance_to_point(a1,a2,a3) požadovat vzdálenost 0, dělá to nepořádek, protože instance absolutní vzdálenosti k jiné instanci použitím tohoto algoritmu obvykle nedosáhne (za předpokladu, že instance nejsou trvale snapované.)
Hodně zdaru
to je pro mně trochu složité...nešlo bi to uďelat nějak přes grip(mříšku)...a nebo bi mi sem někdo mohl hodit link s návodem ohleďe pathfindingu(nic čemu bich rozumňel jsem nenašel(našel jsem toho spoustu,ale angličtina mi moc nejde))
kašlete na to,už jsem to vyřešil (z yoyogames.com jsem si stáhl
extenzion který nabízí funkcy adv_move_towards_point(ikona se jmenuje
advenced move toward point a jde o předělání klasické funkce s tím
rozdílem že je tam o 8 funkcí více,mezi ně patří i simple
move(classic,diagonal,disabled)))
Zobrazeno 7 zpráv z 7.