Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
kIvosek
Člen
Avatar
kIvosek:9.12.2011 16:50

Mám tentokrát dotaz.Chci aby v mé hře mohlo být stisknutu dvě kláves na jednou (např. ALT+CTRL)

 
Odpovědět
9.12.2011 16:50
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na kIvosek
David Jančík:9.12.2011 19:24

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
}
Nahoru Odpovědět
9.12.2011 19:24
Zapomeň, že je to nemožné a udělej to ;)
Avatar
kIvosek
Člen
Avatar
kIvosek:10.12.2011 9:59

Díky

 
Nahoru Odpovědět
10.12.2011 9:59
Avatar

Tvůrce
Avatar
:20.1.2012 11:35

Když chci, např. u keyboard_clear(ke­y), 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_lef­t)
Není něco takového i u klávesnice? :o
(keyboard_cle­ar(kb_A))-neexistuje

 
Nahoru Odpovědět
20.1.2012 11:35
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger:20.1.2012 12:26

Konstanty pro klávesnici začínají vk_, např. vk_space

Nahoru Odpovědět
20.1.2012 12:26
New kid back on the block with a R.I.P
Avatar

Tvůrce
Avatar
Odpovídá na David Hartinger
:20.1.2012 15:05

Hááá :O
Zkoušel jsem různé kombinace kláves, ale tahle mě nenapadla, dík

 
Nahoru Odpovědět
20.1.2012 15:05
Avatar

Tvůrce
Avatar
:20.1.2012 15:06

A co ty pro písmena?
Je to jako
keyboard_cleat("W"), nebo něco takového???
a šipky?

 
Nahoru Odpovědět
20.1.2012 15:06
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger:20.1.2012 20:47

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

Nahoru Odpovědět
20.1.2012 20:47
New kid back on the block with a R.I.P
Avatar

Tvůrce
Avatar
Odpovídá na David Hartinger
:21.1.2012 10:27

Jo jasně, zkusím, uvidím.

 
Nahoru Odpovědět
21.1.2012 10:27
Avatar

Tvůrce
Avatar
Odpovídá na
:5.2.2012 19:01

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ě???

 
Nahoru Odpovědět
5.2.2012 19:01
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger:5.2.2012 19:14

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

Nahoru Odpovědět
5.2.2012 19:14
New kid back on the block with a R.I.P
Avatar

Tvůrce
Avatar
Odpovídá na David Hartinger
:5.2.2012 19:17

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.

 
Nahoru Odpovědět
5.2.2012 19:17
Avatar

Tvůrce
Avatar
Odpovídá na
:5.2.2012 19:19

Nastavil jsem Depth na -9999, čili na nejnižší ze všech objektů.
Nic, keyboard se prostě neclearne :D

 
Nahoru Odpovědět
5.2.2012 19:19
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger:5.2.2012 19:39

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.

Nahoru Odpovědět
5.2.2012 19:39
New kid back on the block with a R.I.P
Avatar

Tvůrce
Avatar
Odpovídá na David Hartinger
:5.2.2012 20:13

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);
 
Nahoru Odpovědět
5.2.2012 20:13
Avatar

Tvůrce
Avatar
Odpovídá na
:5.2.2012 20:18

zkoušel jsem to

keyboard_clear(vk_up)

dát do kolize se zemí, do Stepu, a furt nic...

 
Nahoru Odpovědět
5.2.2012 20:18
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger:5.2.2012 20:51

A o co vůbec usiluješ?

Nahoru Odpovědět
5.2.2012 20:51
New kid back on the block with a R.I.P
Avatar

Tvůrce
Avatar
Odpovídá na David Hartinger
:6.2.2012 14:31

O to, aby když držíš šipku nahoru tak aby pořát neskákal jak s ohněm pod nohama, ale skočil jenom jednou

 
Nahoru Odpovědět
6.2.2012 14:31
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na
David Jančík:6.2.2012 14:44

A proč to nedáš do key_pressed?

Nahoru Odpovědět
6.2.2012 14:44
Zapomeň, že je to nemožné a udělej to ;)
Avatar
Adam Dvořák
Neregistrovaný
Avatar
Adam Dvořák:6.2.2012 15:11

Nechci vám do toho mluvit, ale přijde mi, že několik posledních článků z daným tématem nesouvisí. :P

 
Nahoru Odpovědět
6.2.2012 15:11
Avatar

Tvůrce
Avatar
Odpovídá na David Jančík
:6.2.2012 15:23

To zkusím, ale myslím, že jsem to už zkoušel. Řeknu výsledek

 
Nahoru Odpovědět
6.2.2012 15:23
Avatar

Tvůrce
Avatar
Odpovídá na
:6.2.2012 18:26

Výsledek: Nefachá to, krám... :@

 
Nahoru Odpovědět
6.2.2012 18:26
Avatar

Tvůrce
Avatar
:7.2.2012 14:31

Stejně je to divný.. Když jsem dělal hru Aliens, tak tam prostě bylo:

 {
//nějaké akce
}

mouse_clear(1); //clearování myš 1 = LMB

To fungovalo v pohodě a bylo to přímo v eventu LMB.

Tak proč, když mám

 {
//nějaké akce
}

keyboard_clear(vk_up)

To nefunguje? o_O

 
Nahoru Odpovědět
7.2.2012 14:31
Avatar

Tvůrce
Avatar
:7.2.2012 14:48

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

 
Nahoru Odpovědět
7.2.2012 14:48
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na
David Jančík:7.2.2012 15:15

Úplně jednoduše,

if (!place_free(x,y+1))
    vspeed = -7;

Pokud je pod panďulákem solid object -> skoč.

Nahoru Odpovědět
7.2.2012 15:15
Zapomeň, že je to nemožné a udělej to ;)
Avatar

Tvůrce
Avatar
Odpovídá na David Jančík
:7.2.2012 15:31

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.

 
Nahoru Odpovědět
7.2.2012 15:31
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na
David Jančík:7.2.2012 15:33

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.

Nahoru Odpovědět
7.2.2012 15:33
Zapomeň, že je to nemožné a udělej to ;)
Avatar

Tvůrce
Avatar
Odpovídá na David Jančík
:7.2.2012 15:34

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

 
Nahoru Odpovědět
7.2.2012 15:34
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na
David Jančík:7.2.2012 15:47

Stačí zdrojový kód bez spritů ;)

Nahoru Odpovědět
7.2.2012 15:47
Zapomeň, že je to nemožné a udělej to ;)
Avatar

Tvůrce
Avatar
Odpovídá na David Jančík
:7.2.2012 15:57

OK, pošlu to RES. toho objektu

 
Nahoru Odpovědět
7.2.2012 15:57
Avatar

Tvůrce
Avatar
:7.2.2012 16:01

Tady to je:
http://ulozto.cz/…4/game-gmres
Problémový objekt se jmenuje "blu"

 
Nahoru Odpovědět
7.2.2012 16:01
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na
David Jančík:7.2.2012 17:04

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

Nahoru Odpovědět
7.2.2012 17:04
Zapomeň, že je to nemožné a udělej to ;)
Avatar

Tvůrce
Avatar
Odpovídá na David Jančík
:7.2.2012 20:27

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.....
 
Nahoru Odpovědět
7.2.2012 20:27
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na
David Jančík:7.2.2012 20:29

V tom případě ten samý kód dej do události <up pressed> ;)

Nahoru Odpovědět
7.2.2012 20:29
Zapomeň, že je to nemožné a udělej to ;)
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger:8.2.2012 12:41

Článků?

Nahoru Odpovědět
8.2.2012 12:41
New kid back on the block with a R.I.P
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger:8.2.2012 12:44

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

Nahoru Odpovědět
8.2.2012 12:44
New kid back on the block with a R.I.P
Avatar

Tvůrce
Avatar
Odpovídá na David Jančík
:8.2.2012 16:19

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... :(

 
Nahoru Odpovědět
8.2.2012 16:19
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger:8.2.2012 18:42

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.

Nahoru Odpovědět
8.2.2012 18:42
New kid back on the block with a R.I.P
Avatar

Tvůrce
Avatar
Odpovídá na David Hartinger
:9.2.2012 15:40

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.

 
Nahoru Odpovědět
9.2.2012 15:40
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger:9.2.2012 15:43

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

Nahoru Odpovědět
9.2.2012 15:43
New kid back on the block with a R.I.P
Avatar

Tvůrce
Avatar
Odpovídá na David Hartinger
:9.2.2012 16:03

Ale v tom tvém tutorialu taky skáče pořád.

 
Nahoru Odpovědět
9.2.2012 16:03
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger:9.2.2012 16:07

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.

Nahoru Odpovědět
9.2.2012 16:07
New kid back on the block with a R.I.P
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Tato diskuze byla označena moderátorem jako nekonstruktivní a myslíme si, že nemá pro veřejnost příliš vysokou hodnotu. Členy můžete samozřejmě stále oslovit soukromě a to formou zpráv nebo chatu.

Zobrazeno 42 zpráv z 42.