Diskuze: Rozcvička 002 v GM ( pohyb )

Ostatní jazyky GameMaker GameMaker Rozcvička 002 v GM ( pohyb )

Avatar
TomBen
Redaktor
Avatar
TomBen:

Opět je tu malý úkol na provětrání mozkových závitů. :-)
Vykreslete pohyb po obvodu rovnostranného trojúhelníka
zadaného středem a délkou strany takto:
center_x=x;
center_y=y;
delka_strany=250;

Pro ukázku jak by to mohlo reálně vypadat:
http://www.youtube.com/watch?…

Pokud to někdo zvládne, dejte to přímo sem buď jako kód,
nebo link na zdroják. Je jedno jak bude trojúhelník otočen
a je jedno jakou metodu zvolíte.
( Je jich mnoho - buďte vynalézaví, počítá se všechno. )

Odpovědět  +1 3.5.2013 17:05
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
TomBen
Redaktor
Avatar
TomBen:

Pro jistotu zopakuji WCG.
Jako jazyk se očekává především GML, ale inciativním
příznivcům jiných jazyků nebudu bránit, pokud nepůjde o extrémní flame. :-)
Odměna není žádná kromě nehynoucí slávy na devbook.cz :D

Nahoru Odpovědět 3.5.2013 17:13
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:

Klidně ti do soutěže věnuji placky :P

Nahoru Odpovědět 3.5.2013 17:15
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
TomBen
Redaktor
Avatar
Odpovídá na David Čápka
TomBen:

No, když bude někdo šikovný a udělá to superhezky.. :-)

Jinak je to úkol na 20 minut se znalostí středoškolské matiky,
takže žádný hardcore. :D

Nahoru Odpovědět 3.5.2013 17:18
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
TomBen
Redaktor
Avatar
TomBen:

Zdá se, že pohyb po zalomené dráze zatím nikoho moc neinspiroval. :-)
To je ovšem docela škoda, protože umět psát kvalitní kódy pro pohyb
je jedna z nejzákladnějších dovedností v Game Makeru. Nejde bez toho
dělat dobré hry ani akční, ani plošinovky a někdy zvláštní typy pohybu
dokáží originálně vylepšit i bludišťovky a RTSka.

No, když to nikdo nedá, hodím sem v neděli večer svoje řešení. :-)

Nahoru Odpovědět 4.5.2013 10:49
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
TomBen
Redaktor
Avatar
TomBen:

!ZMĚNA - ODMĚNA!
Protože věřím, že schopnosti většina z vás má, zkusím přidat trochu té
motivace a doplňuji rozcvičku o odměnu.

Mám objednané mince s vyraženým nápisem Gamedesigner's Star upevněné
v klíčence. Získá je každý, kdo bude mít tři splněné rozcvičky. Každá
rozcvička bude aktivní dokud neuzavřu diskuzi, takže momentálně jsou
k dispozici dvě aktivní rozcvičky a třetí zveřejním nejspíš koncem
příštího týdne.

Nahoru Odpovědět 4.5.2013 20:47
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Drakeman
Redaktor
Avatar
Odpovídá na TomBen
Drakeman:

Tak to se do toho hned pustím :-D

Nahoru Odpovědět  +1 4.5.2013 21:15
Když se chce, tak jde všechno,
Avatar
Drakeman
Redaktor
Avatar
Odpovídá na TomBen
Drakeman:

Mám otázku: Pokud už mám splněné toto zadání, tak mám dát odkaz na zdrojový kód sem anebo ti ho mám poslat jako zprávu?

Nahoru Odpovědět 4.5.2013 21:36
Když se chce, tak jde všechno,
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Drakeman
TomBen:

JJ. Tohle je důležité.
Teď když je za to odměna, bude třeba to posílat jako PM. :-)

Nahoru Odpovědět 4.5.2013 21:42
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
TomBen
Redaktor
Avatar
TomBen:

První, co má splněno:
Appleman 4.5.2013 22:26

Nahoru Odpovědět 4.5.2013 22:30
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
TomBen
Redaktor
Avatar
TomBen:

Rozcvička uzavřena!

Tenhle úkol šlo splnit na vícero způsobů. Protože zadání bylo metodicky
volné, šlo splnit poměrně snadno použitím předkreslené dráhy (path), tak
jak to bleskurychle vyrobil Appleman. Větší výzvou byl výpočet polohy
bodu na obvodu trojúhelníka, ale protože tohle nikdo nezvládl, můžete se
alespoň kouknout na moje řešení. Není to nijak těžké. Vzorce jde snadno
najít třeba na wikipedii nebo na matematicky zaměřených webech.

Kód je rozdělen na výpočet polohy vrcholů:

center_x=x;
center_y=y;
delka_strany=250;
T=0; krok=0.005;


//---------------------------------
odvesna=(sqrt(3)/3)*delka_strany;
prepona1=(sqrt(3)/6)*delka_strany;
prepona2=delka_strany/2;
faze=1;

A_x=center_x-prepona2;
A_y=center_y+prepona1;

B_x=center_x+prepona2;
B_y=center_y+prepona1;

C_x=center_x;
C_y=center_y-odvesna;

a samotný pohyb od vrcholu k vrcholu je pak běžný lineární,
který se odehrává rovnou v eventu draw:

//pohyblivka
T+=krok;

//korekce a faze
if (T>1)
{ T=T-1; faze+=1; if faze>3 faze=1; }
if T<0 T=0;

switch faze
{
case 1:
mx=A_x+(T*(B_x-A_x));
my=A_y+(T*(B_y-A_y));
break

case 2:
mx=B_x+(T*(C_x-B_x));
my=B_y+(T*(C_y-B_y));
break

case 3:
mx=C_x+(T*(A_x-C_x));
my=C_y+(T*(A_y-C_y));
break

default: mx=center_x; my=center_y; break;
}

draw_circle_color(mx,my,5,c_red,c_red,0);
draw_circle_color(mx,my,2,c_black,c_red,0);


//trojuhelnik carovany
draw_line_width_color(A_x,A_y,B_x,B_y,5,c_black,c_black);
draw_line_width_color(B_x,B_y,C_x,C_y,5,c_black,c_black);
draw_line_width_color(C_x,C_y,A_x,A_y,5,c_black,c_black);

ke stažení exe a gmk:
http://uloz.to/…cvicka-2-zip

Nahoru Odpovědět  +2 14.5.2013 16:58
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Tato diskuze byla označena moderátorem jako nekonstruktivní a myslíme si, že nemá pro veřejnost příliš vysokou hodnotu. Členy můžete samozřejmě stále oslovit soukromě a to formou zpráv nebo chatu.

Zobrazeno 11 zpráv z 11.