Diskuze: dvojité stisknutí klávesy
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 42 zpráv z 42.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.


Dobrý den,
pokud chcete, aby se provedla určitá akce pokud jsou stisknuty právě tyto
dvě klávesy můžete to udělat následovně:
Do step eventu objektu vložíte Code v němž bude následující
podmínka:
if ((keyboard_check_direct(vk_control)) && (keyboard_check_direct(vk_alt)))
{
//akce
}
Když chci, např. u keyboard_clear(key), tak za key jdou dosadit
číslovky, ke každé klávese 1.
Tak je tomu i u myši, že? (mouse_clear(key))
mouse_clear(1) 1=LMB
To jde asi i u klávesnice.
Myš: mouse_clear(mb_left)
Není něco takového i u klávesnice? 
(keyboard_clear(kb_A))-neexistuje
Hááá 
Zkoušel jsem různé kombinace kláves, ale tahle mě nenapadla, dík
Použiješ ord('A'), který vrátí ordinální hodnotu (tedy číselný
kód) libovolného znaku na klávesnici. Šipky sis mohl odvodit vk_left,
vk_right... 
Příště prosím založ nové vlákno, šetří nám to čas a můžeme
potom více pracovat na komunitě a materiálech nebo řešit vaše dotazy.
Takhle to musíme přesouvat 
Zkusil jsem a vidím... no, nefunguje to..
Dal jsem normálně při eventu Up
keyboard_clear(vk_up)
To samé při
keyboard_clear(ord("W"));
Nedělám něco špatně???
Děláš to dobře, tam záleží, který objekt se vyhodnotí jako první. To clear se může provést až potom, co se provede up u jiného objektu. Tohle není moudré použití. Možná pomůže nastavit Depth na nějaké záporné číslo u toho objektu, ale nejsem si jistý.
Depth?????
Tak to by mě nenapadlo......
Myslíš, že depth určuje pořadí objektů? Myslel jsem, že depth je
pořadí jen po grafické stránce.
Nastavil jsem Depth na -9999, čili na nejnižší ze všech objektů.
Nic, keyboard se prostě neclearne 
Tuším, že se i provádí události podle depth, ale nejsem si tím na 100% jistý.
Prostě problém je, že se ti vykoná ta událost v jiném objektu dřív, než to clearneš. Nesmíš clearovat klávesu v eventu té klávesy.
Aha, tak to je blbý, co navrhuješ dál???? Možná bych mohl nastavit kolizi se semí (je to skákačka), že při kolizi by se dalo
keyboard_clear(vc_up);
zkoušel jsem to
keyboard_clear(vk_up)
dát do kolize se zemí, do Stepu, a furt nic...
O to, aby když držíš šipku nahoru tak aby pořát neskákal jak s ohněm pod nohama, ale skočil jenom jednou
To zkusím, ale myslím, že jsem to už zkoušel. Řeknu výsledek
http://ulozto.cz/…clearing-gmk
Něco na ten smysl, když to dokážete opravit tak, aby to nestoupalo při
držení šipky nahoru neustále nahoru, ale vrátilo se to na zem, vyřešíte
mi ten problém. (Dám hlas!) 
Úplně jednoduše,
if (!place_free(x,y+1))
vspeed = -7;
Pokud je pod panďulákem solid object -> skoč.
Dal jsem ten skript do mojí hry a skákání se pořád nezastaví. Tohle by asi vážně fungovalo jenom na tom vzoru, ale já potřebuju, aby zůstal stát na zemi. Zkusil jsem to s kombinací
keyboard_clear(vk_up)
, ale zas nic. Dávám to hlas aspoň za pokus.
A proč tam furt cpeš to keyboard_clear?
Pošli mi třebas na mail pokud to nechceš publikovat veřejně tvůj problém,
podívám se na to. Takhle tu vaříme z vody.
Je mi líto, jak jsem říkal, má to už díky HD grafice přes 100MB,
takže by mi to můj super internet nezmák...
Keyboard_clear proto, že fakt nevim, jak jinak...
Tady to je:
http://ulozto.cz/…4/game-gmres
Problémový objekt se jmenuje "blu"
Stále nevidím důvod proč to děláš tak složitě a nedáš tam tu jednoduchou podmínku? Prostě tam nech jen akci <up> a v ní ten kód. V tom případě bude panáček skákat pouze pokud je pod ním zem. Pokud máš jiné požadavky, kdy bude moci panáček skákat a kdy ne. Tak je popiš.
Prostě potřebuju tohle:
Šipka nahoru - výskok(ze země)
...šipka nahoru se pořád drží...
Z výskoku se pomocí ve stepu, jak je tam
if vspeed < 10
then vspeed = 10
...šipka nahoru se pořád drží...
Hráč dopadne na zem.
...šipka nahoru se pořád drží...
Hráč zůstává na zemi
...šipka nahoru se pořád drží...
Dokud se šipka nahoru nepustí, hráč zůstává na zemi..
...Hráč zůstává na zemi...
...Šipka nahoru je nyní puštěna...
...Nic se neděje, hráč pořád stojí na zemi...
Hráč zvovu stiskne šipku nahoru...
-> děj se znovu opakuje.....
Ale tohle přeci musí fungovat, máš tam něco špatně. Co myslíš tím, že skáče jako blázen? Skákat přeci může jen tehdy, když je pod ním zeď. Když je ve vzduchu, tak neskáče, to ti taky samo řeší omezování skákání. Podívej se do sekce GameMaker, je tam přeci ukázka plošinovky.
Pokud řešíš něco jiného, tak nám to vysvětli, jistě to půjde udělat jednoduše bez mazání bufferu kláves, to je trochu overkill...
Jestli ses koukal na ty resoulci, co jsem ti poslal, tak to tam je a ten
týpek i přes to furt skáče... 
Vůbec nechápu, proč v té události Keyboard Up nastavuješ 2x Vspeed? Máš tam nějakou podmínku v kódu, která je blbě a potom máš tu samou v ikonách, ale znegovanou, takže tedy ano, samozřejmě, že skáče. Udělej to podle toho tutoriálu, co tu máme. Říkali jsme ti to už tisíckrát, nevím, co tu takovou dobu řešíš a hledáš komplikovaná řešení přes nějaké clearování kláves, když je to tak jednoduché a funkční řešení je zde uvedeno.
Mimochodem buď programuj ikonami nebo kódem, ale ne obojím, tohle je hrůza. Také nerozumím, proč máš Execute code v blocích, když nad nimi není žádná podmínka.
To v ikonkách jsem tam už měl, zbytek mi řekl Davos, tak jsem to tam namixoval všechno dohromady... Jestli je tam chyba, řekni jaká. Mě to obvykle přes clearování fungovalo, takže jsem doufal v to, že to bude fungovat i teď... Žádný jiný tutorialy kromě těch mejch na skákačku a toho, cos dělal myslím ty (ale je dost podobný) jsem nenašel, takže mi kdyžtak řekni, kde jinde to mám hledat.
Dobře, dobře.
Ten kód
jenom tak doplňuju, protože hodně věcí ikonkama vyjádřit nelze a mnohem
jednodušší, než vypisovat dlouhý skripty je hodit tam jednoduchou ikonku,
takže mi z toho pak vznikne tahle "hrůza". Dík za odpovědi.
Jak řekni jaká? Vezmi ten můj tutoriál a použij ho, ne? Vždyť tam máš funkční řešení, nevím, na co se zase ptáš. Překlikat ty akce z mého objektu do tvého snad zvládneš.
To je standardní chování plošinovek. Pokud to tak nechceš, změň událost Keyboard na Keyboard press. Už jsme ti to říkali stokrát, ptáš se stále na to samé. Tuto diskuzi uzavírám, protože je dávno vyřešena.
Zobrazeno 42 zpráv z 42.