Přepis ikonek do GML

Sem vkládejte editovatelné kusy kódu a tutoriály.
Odpovědět
Uživatelský avatar
D-Sheep
Příspěvky: 768
Registrován: září 7, 2011, 10:17 pm
Facebook: http://facebook.com/sheepdave
Bydliště: Praha, CZE
Kontaktovat uživatele:

Přepis ikonek do GML

Příspěvek od D-Sheep » srpen 26, 2013, 12:41 pm

Na základě nedávno založeného tématu s překladem ikonek do GML v externím zdroji jsem se rozhodl zkompletovat náš vlastní seznam a obohatit tak o trochu fórum VCh. Záměrně píšu sem a ne do magazínu, protože již máme kompletní sbírku ikonek v podobě vkládatelných smajlíků.

Tento seznam je aktuální k verzi 8.0 Pro.
Vysvětlivky:
barevné části kódů jsou proměnlivé a je na vás, abyste zvolili jejich hodnotu podle těchto pravidel:

ČERVENĚ jsou označena čísla
HNĚDĚ jsou označena jména resourců (sprity, objekty atd.)
FIALOVĚ jsou označeny stringy
ZELENĚ jsou označeny boolean výrazy (true / false)
-----
MODŘE jsou označeny odkazy na poznámky ke kódu (nejsou tedy součástí kódu!)
MOVE
Spoiler: ukázat
 
:gmico78: motion_set(rychlost, směr);
:gmico79: motion_set(rychlost, směr);
:gmico80: move_towards_point(x, y, rychlost);
:gmico51: hspeed = rychlost;
:gmico122: vspeed = rychlost;
:gmico44: gravity = síla; gravity_direction = směr;
:gmico50: hspeed = -hspeed;
:gmico121: vspeed = -vspeed;
:gmico38: friction = síla;

:gmico72: x = x; y = y;
:gmico74: x = xstart; y = ystart;
:gmico73: x = floor(random(room_width / hsnap)) * hsnap; y = floor(random(room_height / vsnap)) * vsnap;
:gmico45: move_snap(hsnap, vsnap);
:gmico124: move_wrap(vodorovně, svisle, okraj);
:gmico12: move_contact_all(směr, vzdálenost);
:gmico12: move_contact_solid(směr, vzdálenost);
:gmico2: move_bounce_all(přesně);
:gmico2: move_bounce_solid(přesně);

:gmico94: path_start(cesta, rychlost, konec, relativní); [1]
:gmico95: path_end();
:gmico96: path_position = pozice; [2]
:gmico97: path_speed = rychlost;

:gmico115: mp_linear_step(x, y, rychlost, všechny_objekty);
:gmico116: mp_potential_step(x, y, rychlost, všechny_objekty);

[1] konec 0: zastavit, 1: od začátku, 2: pokračovat, 3: pozpátku
[2] pozice číslo 0-1
MAIN 1
Spoiler: ukázat
 
:gmico13: instance_create(x, y, objekt);
:gmico15: with (instance_create(x, y, objekt)) { motion_set(rychlost, směr); }
:gmico14: instance_create(x, y, choose(objekt1, objekt2, objekt3, ...));
:gmico8: instance_change(objekt, události);
:gmico16: instance_destroy();
:gmico75: with (instance_position(x, y, objekt)) { instance_destroy(); }

:gmico112: sprite_index = sprite; image_index = subimage; image_speed = rychlost;
:gmico114: image_xscale = roztáhnutí_h; image_yscale = roztáhnutí_v; image_angle = úhel;
:gmico113: image_blend = barva; image_alpha = průhlednost;

:gmico110: sound_play(zvuk);
:gmico110: sound_loop(zvuk);
:gmico111: sound_stop(zvuk);
:gmico68: if (sound_isplaying(zvuk))

:gmico105: room_goto_previous();
:gmico103: room_goto_next();
:gmico102: room_restart();
:gmico104: room_goto(místnost);
:gmico66: if (room_previous(room) != -1)
:gmico65: if (room_next(room) != -1)
MAIN 2
Spoiler: ukázat
 
:gmico0: alarm[číslo] = doba; [1]
:gmico108: sleep(doba); [2]
:gmico117: timeline_index = timeline;
:gmico118: timeline_position = pozice;
gmico118a: timeline_speed = rychlost;
gmico118b: timeline_running = true;
Obrázek timeline_running = false;
gmico118c: timeline_running = false; timeline_position = 0;

:gmico70: show_message(text);
:gmico47: show_info();
:gmico111c: splash_show_text(soubor, doba); [2]
:gmico111a: splash_show_image(soubor, doba); [2]
gmico111e: splash_show_web(url, doba); [2]
:gmico111d: splash_show_video(soubor, opakovat);
:gmico111b: splash_set_caption(nadpis); splash_set_main(herní_okno);

:gmico42: game_restart();
:gmico40: game_end();
:gmico43: game_save(soubor);
:gmico41: game_load(soubor);

Obrázek sprite_replace(sprite, soubor, počet_obrázků, průhledný, hladký, x, y);
:gmico100: sound_replace(zvuk, soubor, typ, načíst); [3]
:gmico99: background_replace(pozadí, soubor, průhledný, hladký);

[1] doba ve stepech
[2] doba v milisekundách
[3] typ 0: normální, 1: na pozadí, 2: 3D, 3: multimédia
CONTROL
Spoiler: ukázat
 
:gmico57: if (place_free(x, y))
:gmico57: if (place_empty(x, y))
:gmico55: if (!place_free(x, y))
:gmico55: if (!place_empty(x, y))
:gmico63: if (place_meeting(x, y, objekt))
:gmico62: if (instance_number(objekt) == číslo) [1]
:gmico56: if (floor(random(počet)) == 0)
:gmico64: if (show_question(text))
:gmico52: if (podmínka)
:gmico61: if (mouse_check_button(tlačítko)) [2]
:gmico58: if (place_snapped(hsnap, vsnap))

:gmico1: {
:gmico33: else
:gmico35: exit;
:gmico34: }
:gmico98: repeat (počet)
:gmico71: event_inherited();

:gmico9: nelze nahradit
:gmico107: jméno_skriptu(argument1, argument2, ...);
:gmico11: //komentář

:gmico119: proměnná = hodnota;
:gmico69: if (proměnná == hodnota) [1]
:gmico31: draw_text(x, y, string(proměnná));

[1] použijte == pro rovno, < pro menší než, > pro větší než
[2] tlačítko možné hodnoty: mb_any, mb_left, mb_middle, mb_none, mb_right
SCORE
Spoiler: ukázat
 
:gmico106: score = skóre;
:gmico67: if (score == skóre) [1]
:gmico27: draw_text(x, y, nadpis + string(score));
:gmico48: highscore_show_ext(počet, pozadí, okraj, barva1, barva2, font, velikost);
:gmico49: highscore_clear();

:gmico76: lives = životy;
:gmico60: if (lives == životy) [1]
:gmico24: draw_text(x, y, nadpis + string(lives));
:gmico25: var o; o = 0; repeat (lives) { draw_sprite(x + o, y, sprite); o += sprite_get_width(sprite); }

:gmico46: health = zdraví;
:gmico59: if (health == zdraví) [1]
:gmico21: draw_healthbar(x1, y1, x2, y2, health, barva_pozadí, barva1, barva2, směr, pozadí, okraj); [2]
:gmico3: show_score = skóre; show_lives = životy; show_health = zdraví;
:gmico3: caption_score = skóre; caption_lives = životy; caption_health = zdraví;

[1] použijte == pro rovno, < pro menší než, > pro větší než
[2] směr 0: doleva, 1: doprava, 2: nahoru, 3: dolů
EXTRA
Spoiler: ukázat
 
:gmico86: s = part_system_create(); part_sysem_depth(s, hloubka);
:gmico87: part_system_destroy(s);
:gmico85: part_system_clear(s);
:gmico89: t = part_type_create();
:gmico89: part_type_shape(t, tvar); [1]
:gmico89: part_type_sprite(t, sprite, animace, roztáhnout, náhodně);
:gmico89: part_type_size(t, min, max, nárůst, chvění);
:gmico88: part_type_color2(t, barva1, barva2);
:gmico88: part_type_color_mix(t, barva1, barva2);
:gmico88: part_type_alpha2(t, průhlednost1, průhlednost2);
:gmico91: part_type_life(t, min, max);
:gmico93: part_type_speed(t, min, max, nárůst, chvění);
:gmico93: part_type_direction(t, min, max, nárůst, chvění);
:gmico90: part_type_gravity(t, síla, směr);
:gmico92: part_type_step(t, počet, typ);
:gmico92: part_type_death(t, počet, typ);
:gmico82: e = part_emitter_create(s);
:gmico82: part_emitter_region(s, e, x1, x2, y1, y2, tvar, rozložení); [2] [3]
:gmico83: part_emitter_destroy(e);
:gmico81: part_emitter_burst(s, e, typ, počet);
:gmico84: part_emitter_stream(s, e, typ, počet);

:gmico5: cd_init(); cd_play(první, poslední);
:gmico7: cd_stop();
:gmico4: cd_pause();
:gmico6: cd_resume();
:gmico53: if (cd_present())
:gmico54: if (cd_playing())

:gmico77: cursor_sprite = sprite;

[1] tvar možné hodnoty: pt_shape_pixel, pt_shape_disk, pt_shape_square, pt_shape_line, pt_shape_star, pt_shape_circle, pt_shape_ring, pt_shape_sphere, pt_shape_flare, pt_shape_spark, pt_shape_explosion, pt_shape_cloud, pt_shape_smoke, pt_shape_snow
[2] tvar možné hodnoty: ps_shape_rectangle, ps_shape_ellipse, ps_shape_diamond, ps_shape_line
[3] rozložení možné hodnoty: ps_distr_linear, ps_distr_gaussian, ps_distr_invgaussian
DRAW
Spoiler: ukázat
 
:gmico28: draw_sprite(sprite, subimage, x, y);
:gmico18: draw_background(pozadí, x, y);
:gmico18: draw_background_tiled(pozadí, x, y);
:gmico29: draw_text(x, y, text);
:gmico30: draw_text_transformed(x, y, text, roztáhnutí_h, roztáhnutí_v, úhel);
:gmico26: draw_rectangle(x1, y1, x2, y2, obvod);
:gmico22: draw_rectangle_color(x1, y1, x2, y2, barva1, barva2, barva2, barva1, obvod);
:gmico32: draw_rectangle_color(x1, y1, x2, y2, barva1, barva1, barva2, barva2, obvod);
:gmico19: draw_ellipse(x1, y1, x2, y2, obvod);
:gmico19: draw_circle(x, y, poloměr, obvod);
:gmico20: draw_ellipse_color(x1, y1, x2, y2, barva1, barva2, obvod);
:gmico23: draw_line(x1, y1, x2, y2);
:gmico17: draw_arrow(x1, y1, x2, y2, velikost);

:gmico10: draw_set_color(barva);
:gmico37: draw_set_font(font);
:gmico37: draw_set_halign(zarovnání); [1]
:gmico37: draw_set_valign(zarovnání); [2]
:gmico39: window_set_fullscreen(fullscreen);

:gmico109: screen_save(soubor);
:gmico36: effect_create_below(typ, x, y, velikost, barva); [3]
:gmico36: effect_create_above(typ, x, y, velikost, barva); [3]

[1] zarovnání možné hodnoty: fa_left, fa_center, fa_right
[2] zarovnání možné hodnoty: fa_top, fa_middle, fa_bottom
[3] typ možné hodnoty: ef_explosion, ef_ring, ef_ellipse, ef_firework, ef_smoke, ef_smokeup, ef_star, ef_spark, ef_flare, ef_cloud, ef_rain, ef_snow
Dodatek:
U všech ikonek testování (modrý osmiúhelník) je možnost zaškrtnout políčko NOT. To jde v kódu nasimulovat obalením celého obsahu závorky do logické negace. To znamená použití operátoru "!". Tedy například:

Kód: Vybrat vše

if (place_free(x, y))
if (!(place_free(x, y))) //NOT
Naposledy upravil(a) D-Sheep dne leden 17, 2017, 12:25 am, celkem upraveno 15 x.

Uživatelský avatar
Nichar
Redaktor
Příspěvky: 435
Registrován: srpen 6, 2011, 1:51 pm
Facebook: http://www.facebook.com/nikolas.charalambidis
Bydliště: Praha

Re: Přepis ikonek do GML

Příspěvek od Nichar » srpen 26, 2013, 2:09 pm

Zaslouží si myslím změnit na "Důležité".. GJ ;)

Já bych to s dovolením vyhnal ještě o úroveň vejš ;). (Blue)
The Scarecrow - 2. místo v prestižní soutěži, online highscore!
Symphony of good and evil: Finding the end - Soutěžní kousek (3. místo)
NWinAPI 0.2.gex | nMath.dll | nBeep.dll - Moje DLL a GEX
Vektorová galerie - Začátek mých vektorů

Uživatelský avatar
richardos24
Příspěvky: 186
Registrován: červen 14, 2012, 4:51 pm

Re: Přepis ikonek do GML

Příspěvek od richardos24 » srpen 26, 2013, 5:29 pm

Diky moc za tutorial velmi si mi pomohol a myslim ze tym pomozes aj inym ;)

ereg
Příspěvky: 500
Registrován: únor 18, 2012, 11:30 am
Facebook: http://facebook.com/

Re: Přepis ikonek do GML

Příspěvek od ereg » srpen 26, 2013, 10:43 pm

urcite moc pekna prace :)
Pokud se vám něco na fóru nelíbí, zkuste si přečíst třeba Wikietiketu a svou kritiku pišete podle ní.

Uživatelský avatar
DDL Blue
Živý stín
Příspěvky: 431
Registrován: srpen 6, 2011, 7:21 pm

Re: Přepis ikonek do GML

Příspěvek od DDL Blue » srpen 27, 2013, 12:26 am

Dobrá práce 8-) .
Zkoukněte moji hudební galerii ;). Nebo vyzkoušej můj generátor akordů!
Řikejte mi prostě Blue...

Uživatelský avatar
jjano
Příspěvky: 94
Registrován: srpen 6, 2011, 11:25 pm
Facebook: http://facebook.com/

Re: Přepis ikonek do GML

Příspěvek od jjano » září 20, 2013, 10:42 am

Som opäť rád, že sa toho niekto takto chytil.... to moje by som asi nikdy nedokončil (nápad dobrý, ale bolo treba odborníka :D )
Berte ohľad, nemám maturitu v počítačovom odbore, ale v záhradníckom.

ObrázekObrázek Obrázek

Uživatelský avatar
Firejs
Příspěvky: 743
Registrován: srpen 9, 2011, 10:21 am
Facebook: http://facebook.com/
Bydliště: Brno
Kontaktovat uživatele:

Re: Přepis ikonek do GML

Příspěvek od Firejs » září 20, 2013, 9:40 pm

D-sheepova práce je samozřejmě uctihodná... Sám jsem do toho hned po zveřejnění párkrát nahlédnul a až si zase na GM někdy udělám čas, tak určitě ještě použiji.
Stejně dobře, jako jíme zvířecí těla, bychom mohli jíst i lidská. Diogenes
Máme novou krevetu! http://www.kreveta.net
Registrován: Ned 13. Úno 2005 12:04:06

Emanuel
Příspěvky: 26
Registrován: prosinec 28, 2013, 10:40 am
Facebook: http://facebook.com/

Re: Přepis ikonek do GML

Příspěvek od Emanuel » prosinec 30, 2013, 11:20 am

Celkom dobra praca mne to trocha pomoze skoda ze tam neni napr. Sipka dolu, kliknutie mysi.....

Uživatelský avatar
D-Sheep
Příspěvky: 768
Registrován: září 7, 2011, 10:17 pm
Facebook: http://facebook.com/sheepdave
Bydliště: Praha, CZE
Kontaktovat uživatele:

Re: Přepis ikonek do GML

Příspěvek od D-Sheep » prosinec 30, 2013, 11:27 am

Emanuel píše:Celkom dobra praca mne to trocha pomoze skoda ze tam neni napr. Sipka dolu, kliknutie mysi.....
To už ale nejsou akce. To jsou události, nepleť si to. Ovšem nebylo by špatný, udělat i přepis všech událostí do akcí ve Stepu...

Ukaž Hru
Příspěvky: 42
Registrován: prosinec 18, 2013, 10:52 am
Facebook: https://www.facebook.com/CZSKUnity3D/?fref=ts
Kontaktovat uživatele:

Re: Přepis ikonek do GML

Příspěvek od Ukaž Hru » prosinec 30, 2013, 12:11 pm

@D-Sheep
to už by bylo na zlatou hvězdu
ObrázekUNITY3D Nová česko slovenská komunita o Unity3D

www.forum.unitycesky.cz
www.unitycesky.cz

MATAking
Příspěvky: 27
Registrován: květen 27, 2015, 5:36 pm
Facebook: http://facebook.com/

Re: Přepis ikonek do GML

Příspěvek od MATAking » květen 28, 2015, 6:01 pm

Tak tohle je hodně parádní! Optám se jak do kódů zakomponovat položku relative?

Uživatelský avatar
D-Sheep
Příspěvky: 768
Registrován: září 7, 2011, 10:17 pm
Facebook: http://facebook.com/sheepdave
Bydliště: Praha, CZE
Kontaktovat uživatele:

Re: Přepis ikonek do GML

Příspěvek od D-Sheep » květen 29, 2015, 11:24 am

relative má v různých akcích různý význam, takže na to není jediné pravidlo, ale ve všech případech to novou hodnotu přičítá ke stávající.
Často se to dá vyřešit záměnou operátoru "=" za "+=", tedy např.

Kód: Vybrat vše

score = 2; //bez relative
score += 2; //s relative
Tohle ovšem nejde použít vždy, protože v některých akcích operátor = prostě není. Relative pak označuje např. počáteční pozici vzhledem k vykonávané akci. Třeba

Kód: Vybrat vše

instance_create(10, 10, obj1); //bez relative
instance_create(x + 10, y + 10, obj1); // s relative
Jak je vidět, stačí ke konstantám přičítat proměnné x a y.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti