mirror of
https://github.com/Relintai/programming_tutorials.git
synced 2025-04-21 21:51:22 +02:00
Finished Texture's txt.
This commit is contained in:
parent
055adfbcd3
commit
8a732d2d68
@ -1,4 +1,62 @@
|
||||
|
||||
Írjunk egy Textúra osztályt.
|
||||
|
||||
Ez fogja menedzselni az SDL_Texture osztályokat.
|
||||
|
||||
Ahogy a bevezetőben elhangzott, Ez egy kép adatait tartalmazza, viszont ez a
|
||||
softwares rajzoláshoz optimalizált formában.
|
||||
|
||||
Kirajzolni a Renderer segédfüggvényeivel lehet, ezeket később menjetek vissza, és
|
||||
implementáljátok be.
|
||||
|
||||
Fontos!
|
||||
|
||||
A renderer.h-t csak a texture.cpp fájlba include-oljátok be!
|
||||
|
||||
Ugyanis, a texture.h kelleni fog a renderer.h-nak is!
|
||||
És nem lehet kör az inlcude gráfban.
|
||||
|
||||
Ebben az esetben a renderer csak a .cpp fájlban kell, így ez a legegyszerűbb megoldás.
|
||||
|
||||
|
||||
------------
|
||||
|
||||
Megj.:
|
||||
|
||||
Ha a Renderer osztályt a .h fájlban is kellene használni valamiért, akkor előre kellene
|
||||
definiálni, így:
|
||||
|
||||
---
|
||||
|
||||
texture.h:
|
||||
|
||||
class Renderer;
|
||||
|
||||
class Texture {
|
||||
//...
|
||||
};
|
||||
|
||||
texture.cpp:
|
||||
|
||||
#include "remderer.h"
|
||||
|
||||
---
|
||||
|
||||
És ugyanezt el lehetne játszani a Rendererbe is, sőt ha lenne több ilyen körkörös
|
||||
függőség, azoknál is.
|
||||
|
||||
Nagy projektekben előfordul az ilyen, érdemes fejben tartani, hogy meg lehet
|
||||
oldani, és hogy így.
|
||||
|
||||
Ez amúgy azért működik, mert a cpp fájlok külön fordítási egységekként vannak
|
||||
lefordítva (alapból, akkor is, ha csak több cpp fájlt fodítunk egy paranccsal
|
||||
programmá), és a végén egy utolsó lépésként vannak összelinkelve
|
||||
(összeállítva) egy futtatható fájllá. És ez a hiba pont a fordítási
|
||||
lépésben okoz gondot.
|
||||
|
||||
------------
|
||||
|
||||
És akkor a Texture osztály UML diagramja:
|
||||
|
||||
|---------------------------------------------------------------------------------------|
|
||||
| class Texture |
|
||||
@ -50,6 +108,10 @@ get_color_mod:
|
||||
|
||||
return Color(r, g, b, a)
|
||||
|
||||
|
||||
Az sdl külön kezeli a színezés paramétert, és az átlátszóságot, de ezt itt egybe vettem,
|
||||
mert így jobban illik a program felépítéséhez.
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
set_color_mod:
|
||||
|
Loading…
Reference in New Issue
Block a user