Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Bluefire

Založen: 28. 07. 2007 Příspěvky: 10
|
Zaslal: 7. duben 2008, 10:04:31 Předmět: Animace |
|
|
Ahoj chtěl bych se zeptat jak se v dnešní době dělají nejlépe animace ve 2D hrách? Dělá se to pomocí spritů?? Prosím jaké je nejlepší řešení?Předem děkuji za odpověď  |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 7. duben 2008, 21:01:07 Předmět: |
|
|
Samozřejmě. Vezmeš třeba GIF a jenom přepínáš jeho obrázky. Nebo se to dělá tak, že se do jednoho obrázku uloží všechny obrázky animace vedle sebe a pak se jenom kreslí výřez toho obrázku, což má pak stejný efekt jako GIF, ale už to nemusí být GIF.  _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
Elijen
Založen: 15. 04. 2008 Příspěvky: 7
|
Zaslal: 29. duben 2008, 18:32:37 Předmět: |
|
|
A jak se řeší pohyb 2D objektů po obrazovce? V OpenGL je tušim nějaká funkce glTranslate, ale jak je to v DirecX?
Například chci-li aby po obrazovce létal objekt (např čtverec s texturou letadla) použiju device.Transform.World nebo device.Transform.View. Ale co když chci aby po obrazovce létalo 10 takových objektů, každý svou trasou nezávislou na pohybu ostatních?
Nemusím snad ke každému vertexu přidávat parametr, který budu ručně updatovat nebo ano? |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 29. duben 2008, 18:57:51 Předmět: |
|
|
Pro 10 objektů buď pokaždé změníš jenom matici a budeš je kreslit po jednom (glTranslate taky uvnitř generuje matici) nebo budeš měnit přímo souřadnice vertexů. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
Elijen
Založen: 15. 04. 2008 Příspěvky: 7
|
Zaslal: 29. duben 2008, 19:30:47 Předmět: |
|
|
Eosie napsal: |
Pro 10 objektů buď pokaždé změníš jenom matici a budeš je kreslit po jednom (glTranslate taky uvnitř generuje matici) nebo budeš měnit přímo souřadnice vertexů. |
Nějak takhle?
kód: |
device.BeginScene();
device.VertexFormat = CustomVertex.TransformedColored.Format;
device.Transform.World = Matrix.Translation(5,5,5);
device.DrawUserPrimitives(PrimitiveType.TriangleList, 1, objekt1);
device.Transform.World = Matrix.Translation(10,18,2);
device.DrawUserPrimitives(PrimitiveType.TriangleList, 1, objekt2);
device.EndScene(); |
|
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 29. duben 2008, 20:06:55 Předmět: |
|
|
Ano přesně tak. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
bedikk

Založen: 18. 03. 2008 Příspěvky: 28 Bydliště: Liberec
|
Zaslal: 14. červenec 2008, 17:20:09 Předmět: |
|
|
Zajímavé 2D animace se dají taktéž dělat stylem, že si uděláš kostru a na tu pak 'nalepíš' jednotlivý části těla ...
jako například v této hře |
|
Návrat nahoru |
|
 |
|