NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
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 – Autíčko 4 - Rychlost

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
coder5
Člen
Avatar
coder5:16.7.2012 10:54

Mohu se zeptat v čem je lepší používání datového typu float naproti double? Resp. proč používáme ten a né onen. Jestli je to jen ze zvyku nebo je v tom nějaká programátorská úmluva?

A jako vždy děkuji za skvělý tutoriál a těším se na další :)
PS.: Omlouvám se za svoji předbíhavost, avšak napadlo mne si udělat jednoduchou závodní hru. Kde by autíčka jezdili po trati a kdyby chtěli jet na trávník jelo by se jim špatně (pomaleji) a kdyby narazili do nějaké překážky zastavila by se. Pokud by projela cílovou rovinkou přičetlo by se kolo. Jak udělat jednotlivé akty vím, avšak nevím jak kontrolovat kolize. Budeš se tímto v dalších tutoriálech zabývat?
Děkuji za odpověď.

Odpovědět
16.7.2012 10:54
Quidquid discis, tibi discis !
Avatar
matesax
Tvůrce
Avatar
matesax:16.7.2012 11:35

Double je "vyšší stupeň" float - prostě se do něj vejde více. Ale jde o velikost - double má větší nároky, než float - největší nároky má 64 bitový integr. Takže se používá takový datový typ, jaký je nutný - navíc float pracuje lépe s delšími desetinami - double velice brzy - již po délce větší než 3 desetinny zkracuje,...

 
Odpovědět
16.7.2012 11:35
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na matesax
David Hartinger:16.7.2012 12:17

Proč odkazuješ jinam, když to je zde v tutoriálech? http://www.itnetwork.cz/index.php?…

Odpovědět
16.7.2012 12:17
New kid back on the block with a R.I.P
Avatar
Petr
Tvůrce
Avatar
Odpovídá na coder5
Petr:16.7.2012 14:45

Float zvládne 7 cifer, přičemž desetinná čárka je někdy mezi nimi (je plovoucí, anglicky float), tzn. čím větší číslo, tím menší přesnost (méně desetin). V paměti zabírá 4 byty (32 bitů).
Double, neboli „dvojitý“, má dvojitou přesnost než float, tzn. 15 cifer a desetinná čárka mezi nimi zase někde plave. V paměti však už zabírá 8 bytů (64 bitů), což je 2x víc než největší celočíslený typ long. Také už pro zvládnutí výpočtu v rámci jednoho cyklu procesoru vyžaduje 64 bitový procesor.
Pak je tu u desetinných čísel ještě Decimal, který zvládne až 28 cifer, ale zabírá 16 bytů (128 bitů) a ani procesor už ho nedokáže zpracovat najednou.

Aktuálním trendem je všude používat double pro desetinná čísla a int (Int32) pro celá čísla a jinak datové typy neřešit, což je někdy docela chyba. Záleží na tom, kam se to ukládá, jak se s tím pracuje a co se v tom uchovává. Přetypování mezi float a double také nějaký výpočetní čas zabere. Každopádně na rozměr obrazovky mi 7 cifer stačí a řešit části pixelu na víc jak setiny nemá smysl.

Co se týče kolizí a indikace pohybu po jiném povrchu, tam už to je vyšší matematika. Nejjednodušší je používat základní grafické elementy, jako je obdélník a kruh, které mají i vestavěnou kontrolu pro kolizi. Složitější tvary a zvláště jejich následné různé otočení a změna měřítka už je třeba řešit pomocí transformačních matic. K tomu se právě výborně hodí vektory, které podporují všechny základní početní operace, ale bez znalosti analytické geometrie a matic to dá dost zabrat.

 
Odpovědět
16.7.2012 14:45
Avatar
pardal486
Člen
Avatar
pardal486:22.7.2012 20:27

Potřebuji se zeptat jestli ještě XNA tutoriály budou pokračovat

Odpovědět
22.7.2012 20:27
Bite my shiny, metal ass!
Avatar
Petr
Tvůrce
Avatar
Odpovídá na pardal486
Petr:22.7.2012 21:12

Mé video-tutoriály o XNA zatím (tzn. cca letos) asi ne, určitě sem však přispějí ostatní s neméně zajímavými materiály.

 
Odpovědět
22.7.2012 21:12
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na pardal486
David Hartinger:22.7.2012 21:17

Určitě budou ;)

Odpovědět
22.7.2012 21:17
New kid back on the block with a R.I.P
Avatar
Jakub Lásko[Saarix]:25.8.2012 17:04

Toto je opravdu vydařený tutoriál. :)

Odpovědět
25.8.2012 17:04
Časem je vše možné.
Avatar
minecraftgiesi:12.11.2012 18:05

nemohl by mi někdo pomoct mam problem s xna a kdyŽ si založím projekt tak mi to napíše
toto:
no suitable graphics card found

could not find a direct3D device that supports the XNA framework HIDef profile

verify that a suitable graphics devise is installed

make sure desktop is not locked,and tkat no other application is running in full screen mode

avoid running under remote desktop of as a windows service

check the display properties to make sure hardware acceleration is set to full

Odpovědět
12.11.2012 18:05
Milujte c#/xna :)
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 10 zpráv z 23.