mirror of
https://github.com/Relintai/programming_tutorials.git
synced 2025-04-21 21:51:22 +02:00
42 lines
2.0 KiB
Plaintext
42 lines
2.0 KiB
Plaintext
|
|
Írjunk egy Scene osztályt.
|
|
|
|
Erre az osztályra úgy érdemes gondolni, mint egy alprogramrészre / képernyőre.
|
|
|
|
Játékoknál pl lehetne egy MenuScenea menü, és egy GameScene a játék maga.
|
|
|
|
Pl notepad programnál elég csak egy ilyet, mondjuk egy MainScene.
|
|
|
|
De például, ha csináltok a notepadhoz egy splashscreent, akkor az is
|
|
lehetne egy scene, illetve ha csináltok, egy projekt választót, akkor azt is
|
|
érdemes lesz külön scene-ként megírni.
|
|
|
|
---------
|
|
|
|
Ez egy abstract osztály, ugyanis van benne be nem implementált virtuális függvény.
|
|
Ez azt jelenti, hogy nem lehet majd belőle példányt létrehozni, csak olyan
|
|
leszármazottjából, amelyben már minden ilyen függvény implementált.
|
|
|
|
Más nyelvekben (pl java, vagy c#, ilyen osztály létrehozására létetik egy külön abstract
|
|
kulcsszó. - pl.: abstract class Scene { ... } -)
|
|
|
|
Ha valakinek úgy jobban tetszik, akkort nyugodtan csinálhat üres implementációkat
|
|
ezekhez a függvényekhez. Nyilván ennek is van előnye, ugyanis ekkor nem feltétlen
|
|
kell mindegyik ilyen függvényt leszármazottban létrehozni, csak azt, ami éppen
|
|
szükséges.
|
|
|
|
---------
|
|
|
|
|---------------------------------------------------------------------------------------|
|
|
| class Scene |
|
|
|---------------------------------------------------------------------------------------|
|
|
| + virtual void event(const SDL_Event &ev) = 0 |
|
|
| + virtual void update(float delta) = 0 |
|
|
| + virtual void render() = 0 |
|
|
| |
|
|
| + Scene() |
|
|
| + virtual ~Scene() |
|
|
|---------------------------------------------------------------------------------------|
|
|
|
|
|