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

Diskuze – Odrážení kuličky v C# .NET WPF

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
bem.jiri12
Člen
Avatar
bem.jiri12:14.1.2015 12:00

mockrát děkuji za kód. Právě vytvářím svoji 3 hru a první s možností stisknutí kláves. A právě s keypress/down/up eventy mám nyní problém. Takže doufám že tato aplikace pro mě bude zajímavá. :)

 
Odpovědět
14.1.2015 12:00
Avatar
Ježek Vít :14.1.2015 17:04

Někdy již po prvním nechycení kuličky se mi obě odrážedla zaseknou a už s nimi nejde hrát. Párkrát jsem to vypnul/zapnul, ale i tak do deseti her se sekly znovu ;-(

Odpovědět
14.1.2015 17:04
Nemyslím, tedy nejsem.
Avatar
beibovaneki
Tvůrce
Avatar
Odpovídá na Ježek Vít
beibovaneki:14.1.2015 18:12

Nejde s nima hrát vůbec, i když tam ta kulička lítá?

 
Odpovědět
14.1.2015 18:12
Avatar
Ježek Vít :14.1.2015 18:29

Ano, přesně tak. Kulička lítá normálně. Dokud se kulička nedostane za odrážedlo, tak je vše v pohodě. Pak jak kdy, někdy po pěti špatných, někdy po 10 špatných (nechycených), jednou jsem se dostal i ke 30 špatných. Někdy se zasekne jen jedna (většinou modrá), někdy rovnou obě... Nějakou souvislost, proč se to tak děje jsem nezjistil. (jo a Win8.1 64b, pokud to pomůže).

Odpovědět
14.1.2015 18:29
Nemyslím, tedy nejsem.
Avatar
beibovaneki
Tvůrce
Avatar
Odpovídá na Ježek Vít
beibovaneki:14.1.2015 18:44

Abych řekl pravdu, nemám ponětí proč to tak je. Mě se ještě nikdy nic takového nestalo a taky mám Win8.1 64b, navíc jsem to zkoušel i na jiném počítači (ten nebyl zrovna nový a měl starší typ Win) a tam to také fungovalo bez problémů.

Kdyby někdo měl stejný problém nebo řešení, tak prosím napište.

 
Odpovědět
14.1.2015 18:44
Avatar
anonym0001
Člen
Avatar
anonym0001:25.12.2015 13:40

Zdravím, také jsem měl problém s tím, že se mi odrážedlo po pár tazích zaseklo. Problém by měl jít vyřešit touto úpravou:

private void window_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.W)
            {
                t.Tick -= Hrac1Nahoru;
                p1 = 0;                                 //původně p1--
            }
            if (e.Key == Key.S)
            {
                t.Tick -= Hrac1Dolu;
                p1 = 0;                                 //původně p1--
            }
            if (e.Key == Key.Up)
            {
                t.Tick -= Hrac2Nahoru;
                p2 = 0;                                 //původně p2--
            }
            if (e.Key == Key.Down)
            {
                t.Tick -= Hrac2Dolu;
                p2 = 0;                                 //původně p2--
            }
        }

Avšak budu raději, pokud to někdo více programátorsky osvícený, než jsem já, zkontroluje. Programování se věnuju sotva 2 měsíce, tak se případně omlouvám, jestli jsem se dopustil nějakého prohřešku proti programátorskému desateru.

 
Odpovědět
25.12.2015 13:40
Avatar
krepsy3
Tvůrce
Avatar
krepsy3:3.7.2017 22:05

Ahoj, chápu, že tato diskuze se tu vedla před dvěma roky, ale stejně přispěju svou trochou. Tak zaprvé, Vít Škrhák má pravdu. Hodnota p1 a p2 prostě přeleze přes 1 nebo podleze pod nulu. Jeho úprava je tedy funkční řešení. Nicméně obě proměnné by šly jednoduše odstranit, a přidat jednu podmínku. KeyEventArgs totiž obsahují vlastnost bool IsRepeat, která sděluje, jestli klávesa, která konkrétní event vyvolala, není držena, a tedy vyvolává event dokola. Při prvním zavolání po stisku klávesy je tedy IsRepeat false, a od té chvíle je true až do doby, kdy uživatel klávesu pustí :)

Odpovědět
3.7.2017 22:05
Programátor je stroj k převodu kávy na kód.
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.