Diskuze: Pauza po výstřelu

Ostatní jazyky GameMaker GameMaker Pauza po výstřelu

Avatar
Tomáš Brůna
Redaktor
Avatar
Tomáš Brůna:

Ahoj zajímalo by mě jak se dá po výstřelu střelba třeba na 50 milisekund pozastavit aby neběžela pořád v kuse jako nějaký had z nábojů :-D. Předem všem děkuji za radu :)

Editováno 28.5.2015 0:01
Odpovědět 28.5.2015 0:01
Lepší být šprt než blbec :)
Avatar
zaxtutorialscz:

Do objektu, který střílí si do Create eventu definuješ proměnnou třeba:

shooting = false;

Potom tam kde máš udělané to, že střílí (buď ve stepu, nebo u nějakého stisknutí klávesy) si dáš, že může vystřelit jenom pokud je ta proměnná "shooting" false:

if (shooting == false) {
    // Proběhne střelba
    shooting = true; // Hráč nebude moci vystřelit
    alarm[0] = 50; // Spustí alarm 0 za 50 milisekund. Pokud už jsi nějaká alarm použil dej jiný
}

A nakonec v alarmu[0] uděláš, že se proměnná dá zpět na "false" a může zase střílet:

shooting = false;
Editováno 28.5.2015 8:08
 
Nahoru Odpovědět  -3 28.5.2015 8:08
Avatar
Odpovídá na zaxtutorialscz
Neaktivní uživatel:

Nerozuměl jsi otázce? Proč mateš autora vlákna?

// Spustí alarm 0 za 50 milisekund. Pokud už jsi nějaká alarm použil dej jiný

Tohle je nesmysl.
Milisekunda = 10−3 sekundy, při fps lockunutém na 30 (defaltně) je 1 sekunda 30 stepů. 1ms je tedy 0.03 stepů, 0.03*50 = 1,5 stepu.
Dále, snaž se alarmy nepoužívat, jsou zbytečné a pro mě osobně nepřehledné. Dále, boolem stejně paměť neušetříš (jelikož ho GML stejně zpracovává jako real). Nicméně je to tvoje věc, je to o stylu. Osobně true/false používám jen v kombinaci s keywordem return. Tolik pro tebe, zaxi.

Pro autora vlákna:

Předpokládám, že převody se tě taky nedotknuly. Na 1,5 stepu alarm nenastavíš, zaokrouhli na 2. Jinak, ve tvém případě tvoříš střely 1x za step, takto bude kvantita poloviční.

Hodně zdaru všem. :)

Editováno 28.5.2015 11:33
Akceptované řešení
+20 Zkušeností
Řešení problému
Nahoru Odpovědět  +1 28.5.2015 11:31
Neaktivní uživatelský účet
Avatar
 
Nahoru Odpovědět  +1 28.5.2015 11:48
Avatar
Odpovídá na zaxtutorialscz
Neaktivní uživatel:

Ne, to jsi neudělal. Co na tom nechápeš? Chtěl něco jiného.

Nahoru Odpovědět  -3 28.5.2015 11:59
Neaktivní uživatelský účet
Avatar
Tomáš Brůna
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
Tomáš Brůna:

to nevadí zase jsem se přiučil to co nepotřebuji teď se bude určitě hodit někdy jindy :-D
jinak děkuji moc všem zkusím to použít a zase se ozvu :)

Nahoru Odpovědět  +1 28.5.2015 16:46
Lepší být šprt než blbec :)
Avatar
Nahoru Odpovědět 28.5.2015 16:50
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 7 zpráv z 7.