Diskuze: Odpočet času

Ostatní jazyky GameMaker GameMaker Odpočet času

Avatar
David Mlčoch
Redaktor
Avatar
David Mlčoch:

Prosím vás, mohl by mi tu nškdo napsat kód na odpočet času? Řekněme, že potřebuji "10" sekund a chci aby se to odpočítalo až do "0" a při "3" sekundách písmo změní barvu. Byl by někdo tak hodný? Vím, že to bude asi banalita, ale moc by mi to pomohlo, děkuji každému

 
Odpovědět 11.5.2015 18:19
Avatar
Neaktivní uživatel:

Ahoj,

potřebuješ si uvědomit několik věcí, pak je to už hračka. :)

  1. Kolik stepů = 1 sekunda? Room speed, přesněji fps. (Předpokládejme výchozích 30)

Tzn 10 sekund = 30*10 stepů (300 stepů).

  1. Definuj si proměnnou pro odpočet:
casomira = 300; // 10 sekund při room speed 30
  1. Ve step eventu snižuj časomíru:
//GMS
if (casomira > 0) { casomira --;}
//GM
if (casomira > 0) {casomira -=1;}

if (casomira = 0)
   {
   casomira = -1;
   show_message("Uběhlo 10 vteřin.");
   }
  1. Můžeš ji i vykreslovat:
if (casomira>0)
   {
   draw_text(x,y,"Čas: "+string(casomira/room_speed));
   }
else { draw_text(x,y,"Čas uplynul");  }
Editováno 11.5.2015 18:30
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 11.5.2015 18:28
Neaktivní uživatelský účet
Avatar
TomBen
Redaktor
Avatar
TomBen:

V Game Makeru se standardně pro tyto účely používají alarmy.
Automaticky běží, automaticky spustí event. Fungují ve všech verzích.
Řídící proměnná alarmu se jmenuje

alarm[číslo_alarmu]

.
Lze ji samozřejmě také testovat pomocí if, pokud je to třeba.

Jediná, ale bohužel častá chyba, kterou začátečníci s alarmy dělají,
je natažení alarmu ve Stepu. Čímž se alarm neustále nastavuje a logicky nedělá vůbec nic.

Natažení alarmu:

//natažení alarmu na 10 sekund
alarm[1]=10*room_speed; //never been easier
Nahoru Odpovědět  -1 12.5.2015 10:09
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
Odpovídá na TomBen
Neaktivní uživatel:

Proč používat alarmy? Je to naprosto zbytečné.

Nahoru Odpovědět 12.5.2015 11:57
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.