Diskuze: Grafika - manipulacia s objektami
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 8 zpráv z 8.
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, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Pokud kreslíš přímo do windows formu (okna programu), tak si udělej vlastní bitmapy (nepoužívej pictureboxy) a nastav vlastnost formu DoubleBuffered na true (můžeš to udělat v designeru). Blikání při vykreslování přestane.
Každopádně, pokud se bude jednat o větší hru, tak to dělej přes xna, které řeší všechny věci pro vývoj her včetně síťování.
Rozhodně použij XNA. Kreslit na bitmapu? - ne - XNA...
Objekt bude komponentka s vlastním
vykreslováním - v update si pohlídáš hover - v hover click. Totéž u
kláves - pohlídáš si GetState() v každé komponentce v update... Políčka
vygeneruješ cyklem - já bych si postavil jeden velký obrázek a cyklus
provedl jdenou. Cyklus bude projíždět x a y herní plochy vydělené
velikostí jednoho políčka a podle určítého pravděpodobnostního modelu do
zadané pozice vynásobené velikostí políčka přidá objekt...
Aby to bylo jasné - Update se pravidelně volá - a je v něm logika. Draw se také pravidelně volá - ale je tam vykreslování...
O tvorbě her v C# je tu přímo sekce: http://www.itnetwork.cz/csharp/monogame
public override void Update(GameTime gameTime)
{
if (hover = Bounds.Intersects(new Rectangle(Mouse.GetState().X, Mouse.GetState().Y, 5, 5)))
{
if (MouseHover != null)
MouseHover(this, new MouseEventArgs() { MouseState = Mouse.GetState() });
if ((click = Mouse.GetState().LeftButton == ButtonState.Pressed) && Click != null)
Click(this, new MouseEventArgs() { MouseState = Mouse.GetState() });
}
base.Update(gameTime);
}
Kde Bounds je rozměr objektu. A velikost kurzoru jsem zvolil 5x5. Obě události se ukládají do boolů - hover a click - a tak s nima můžeš dále nakládat...
Dakujem za rady
Troska som sa dnes viacej zavrtal do XNA.
Co sa tyka tej hracej plochy, tak to bude fakt jednoduchsie. Co neviem google
alebo tutorial(tie videa tam co su pri tom auticku to je proste parada). Trosku
som uviazol na jednom dvoch detailikov (zatial).
spriteBatch.Begin(SpriteBlendMode.none);
SpriteBlendMode.none <- toto mi ani za toho nechce poznat a neviem v com je
problem, aj ked som to nasiel pod enum na stranke msdn
druhy detailik :
vsimol som si, ze co sa tyka zobrazenia, tak si taker vsetko musim spravit sam.
Takze sa vynara otazka, ako spravit nieco take ako TextBox + ListBox + ako
nastavit Obejkt aby ked sa nakreslil boli na nom scroolbary(horizontalne aj
vertikalne). Pre plochu napr. 5000x2000 pixelov v zobrazovacom okne 800x600 by
sa aj hodili.
bonusova otazka :
Predstavme si ze mame hraciu plochu oramovanu ako pri tetrise (predpokladam, z v
mojom pripade to bude musiet byt objekt), na tento objekt sa vlozi dalsia vrstva
a to budu vertikalne a horizontalne ciary, vznikne sachovnica a na poslednu
vrstvu sa budu vkladat obrazky.
Povedzme ze tuto hraciu plochu budem chciet zmensit alebo zvecsit. Z tutorialu
auticko je tam manipulacia scale. Cize veskery suradnicovy system budem tymto
cislom prenasobovat a upravovat. Ale nejde to spravit automaticky? Ze mu poviem
tieto objekty su medzi sebou prepojene(ukotvene) a pri zmene scale vsetko podla
toho prepocitaj ?
ps1: Dakujem za rady doteraz 
ps2: Urcite sa potom este obratim so sietovanim na vas, ale to az neskorsie,
treba ist krok po kroku 
ps3: V pripade zaujmu, rad kod co momentalne robim mozem niekde zverejnovat,
nemam s tym problem. (aj ked este momentalne nie je co, kedze to este nic nevie
)
Pokud objekt vypropaguje manipulaci s rozměry do svých vnořených objektů, tak to fungovat bude.
To None by skoro mělo být s velkým, nevím, co to znamená nejde, asi to něco píše, možná ti to nabízí přidat using, kdo ví.
XNA nemá nic na formulářové prvky, ale je velmi triviální je naprogramovat. Určitě pro to bude nějaká knihovna na netu, ale jednodušší je snad si to napsat než se prosekávat nějakým cizím kódem. Scrollbary jsou též triviální, když použiješ tzv. nůžky.
Udělej si zdejší tutoriály, všechno je tam vysvětlené.
Zobrazeno 8 zpráv z 8.
