Přepis ikonek do GML

Sem vkládejte editovatelné kusy kódu a tutoriály.
Post Reply
D-Sheep
Posts: 768
Joined: September 7, 2011, 10:17 pm
Facebook: http://facebook.com/sheepdave
Location: Praha, CZE
Contact:

Přepis ikonek do GML

Post by D-Sheep »

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;
Image 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);

Image 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:

Code: Select all

if (place_free(x, y))
if (!(place_free(x, y))) //NOT
Last edited by D-Sheep on January 17, 2017, 12:25 am, edited 15 times in total.
Nichar
Redaktor
Posts: 435
Joined: August 6, 2011, 1:51 pm
Facebook: http://www.facebook.com/nikolas.charalambidis
Location: Praha

Re: Přepis ikonek do GML

Post by Nichar »

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ů
richardos24
Posts: 186
Joined: June 14, 2012, 4:51 pm

Re: Přepis ikonek do GML

Post by richardos24 »

Diky moc za tutorial velmi si mi pomohol a myslim ze tym pomozes aj inym ;)
ereg
Posts: 500
Joined: February 18, 2012, 11:30 am
Facebook: http://facebook.com/

Re: Přepis ikonek do GML

Post by ereg »

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í.
User avatar
DDL Blue
Živý stín
Posts: 431
Joined: August 6, 2011, 7:21 pm

Re: Přepis ikonek do GML

Post by DDL Blue »

Dobrá práce 8-) .
Zkoukněte moji hudební galerii ;). Nebo vyzkoušej můj generátor akordů!
Řikejte mi prostě Blue...
User avatar
jjano
Posts: 94
Joined: August 6, 2011, 11:25 pm
Facebook: http://facebook.com/

Re: Přepis ikonek do GML

Post by jjano »

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.

ImageImage Image
User avatar
Firejs
Posts: 743
Joined: August 9, 2011, 10:21 am
Facebook: http://facebook.com/
Location: Brno
Contact:

Re: Přepis ikonek do GML

Post by Firejs »

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
Posts: 26
Joined: December 28, 2013, 10:40 am
Facebook: http://facebook.com/

Re: Přepis ikonek do GML

Post by Emanuel »

Celkom dobra praca mne to trocha pomoze skoda ze tam neni napr. Sipka dolu, kliknutie mysi.....
D-Sheep
Posts: 768
Joined: September 7, 2011, 10:17 pm
Facebook: http://facebook.com/sheepdave
Location: Praha, CZE
Contact:

Re: Přepis ikonek do GML

Post by D-Sheep »

Emanuel wrote: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
Posts: 42
Joined: December 18, 2013, 10:52 am
Facebook: https://www.facebook.com/CZSKUnity3D/?fref=ts
Contact:

Re: Přepis ikonek do GML

Post by Ukaž Hru »

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

www.forum.unitycesky.cz
www.unitycesky.cz
MATAking
Posts: 27
Joined: May 27, 2015, 5:36 pm
Facebook: http://facebook.com/

Re: Přepis ikonek do GML

Post by MATAking »

Tak tohle je hodně parádní! Optám se jak do kódů zakomponovat položku relative?
D-Sheep
Posts: 768
Joined: September 7, 2011, 10:17 pm
Facebook: http://facebook.com/sheepdave
Location: Praha, CZE
Contact:

Re: Přepis ikonek do GML

Post by D-Sheep »

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ř.

Code: Select all

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

Code: Select all

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.
Post Reply