Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 4. diel - Zvuky, hudba, klávesnica a myš v MonoGame

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
vodacek
Tvůrce
Avatar
Odpovedá na Petr Šťastný
vodacek:9.6.2016 7:12

toto bude spíše chyba, že ti chybí nějaká knihovna, ohledně tohoto zkus napsat na forum monogame - tam svedou poradit lépe

Avatar
Petr Šťastný
Tvůrce
Avatar
Petr Šťastný:16.6.2016 18:43

Ahoj, potřebuji pomoct (zase :D) V monogame mi nefungovaly zvuky a ten pipeline byl takový ... no zajímavý :D

Takže jsem si nainstaloval XNA game studio a všechno funguje jak má :-) Jenom nevím, jak udělat tohle:

Mám ve hře dvě komponenty (herní obrazovky). Z obrazovky 1 přepínám na obrazovku 2. Ale mám problém: Na obrazovce 1 i 2 jsou tlačítka na stejných souřadnicích (a chci je tam kvůli 'designu' nechat). Takže když na obrazovce 1 kliknu na tlačítko, přehodí se to na obrazovku číslo 2 a tam se klikne na další tlačítko.

Nevíte, jak to vyřešit? Napadlo mě si to prostě udělat tak, že při klikání na tlačítko obrazovky 1 si uložím čas a nedovolím klikání na obrazovce 2, dokud neuplyne třeba vteřina. Ale asi to nebude ten nejlepší způsob. Bylo by to pomalé a složité, nemám pravdu? :-)

Avatar
Petr Šťastný
Tvůrce
Avatar
Petr Šťastný:16.6.2016 18:49

EDIT: A s tím souvisí problém, že mám klasická tlačítka, která nic nedělají (tedy myšleno nepřevádí pohled na jinou stránky). A na těch, když držím tlačítko, slyším hnusné pištění (používám SoundEffect pro klikání na tlačítka). Jak se toho mám zbavit?

if (rect_Back.Contains(new Point(hra.mys.X, hra.mys.Y)) && hra.mys.LeftButton == ButtonState.Pressed)
            {
                //
                // ...
                //
                seff_Click.Play();
                hra.PrepniHerniObrazovku(hra.komp_menu);
            }
Avatar
Petr Šťastný
Tvůrce
Avatar
Odpovedá na Petr Šťastný
Petr Šťastný:17.6.2016 14:47

Tak dobrý, stačilo v Hra.cs vytvořit bool ButtonAllowed, v Update podmínku, že když myš není zmáčknutá, hodím ButtonAllowed na true a když se zmáčkne tlačítko, hodit ButtonAllowed na false. Tlačítko jde samozřejmě zmáčknout, jenom když je ButtonAllowed true;

Že mě to nenapadlo hned :-)

Avatar
Patrik Pastor:21.6.2019 15:36

Jak vlastne funguji ty Pointy? Chapu druhou cast podminky, kde se kontroluje, zda se mys stiskla, ale jak to ze je prvni cast podminky obdelnikRobota­.Contains(new point)?

jak muze obdelnik obsahovat nejaky point, kdyz jsem ho nevytvoril. Nebylo by lepsi misto Contains aby byla metoda jako Exists? nebo Finds? jako naleza nebo existuje. Ale prece ten point jeste neni vytvoreny aby se volala metoda "obsahuje" (contains), to nedava smysl

Avatar
Jiří Pivec
Člen
Avatar
Odpovedá na Patrik Pastor
Jiří Pivec:10.12.2021 16:58

Třída Rectangle obsahuje metodu Contains, která v tomto případě používá přetížení s parametrem Point.
Metodu Contains tedy voláš na instanci třídy Rectangle nikoli na třídě Point a instanci třídy Point vytváříš přímo v parametru klíčovým slovem new.
new Point(mys.X, mys.Y)
Struct Point má parametry int x a int y (v tomto případě poloha kurzoru myši).

Na třídě Rectangle nejsou metody Exists ani Finds. Ne že by sis je tedy nemohl napsat :)

Pokud Ti není jasné, jak některé třídy fungují a jaké metody obsahují, označ si třídu(nebo metodu) a stiskni F12 (pravé myšítko -> Go To Definition).

Odpovedať
„Kdo se umí smát sám sobě, má právo se smát všemu ostatnímu, co mu k smíchu připadá.“ J.W.
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 6 správy z 16.