mirror of
https://bitbucket.org/King_DuckZ/jumping-in-d.git
synced 2024-10-30 02:49:01 +00:00
I don't know :/
This commit is contained in:
parent
205448d211
commit
abe3d8f493
3 changed files with 23 additions and 6 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -6,3 +6,4 @@ lib/libbpg*/**/*.a
|
||||||
lib/libbpg*/bpgdec
|
lib/libbpg*/bpgdec
|
||||||
lib/libbpg*/bpgenc
|
lib/libbpg*/bpgenc
|
||||||
lib/libbpg*/bpgview
|
lib/libbpg*/bpgview
|
||||||
|
tags
|
||||||
|
|
17
gameobj.d
17
gameobj.d
|
@ -16,6 +16,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
module gameobj;
|
module gameobj;
|
||||||
|
import derelict.sdl2.sdl;
|
||||||
|
|
||||||
interface GameObj {
|
interface GameObj {
|
||||||
void prepare();
|
void prepare();
|
||||||
|
@ -23,3 +24,19 @@ interface GameObj {
|
||||||
void exec();
|
void exec();
|
||||||
bool wants_to_quit() const;
|
bool wants_to_quit() const;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class GameObjBase : GameObj {
|
||||||
|
public:
|
||||||
|
this (SDL_Renderer* parRenderer) {
|
||||||
|
m_renderer = parRenderer;
|
||||||
|
assert(m_renderer);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
SDL_Renderer* renderer() {
|
||||||
|
return m_renderer;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
SDL_Renderer* m_renderer;
|
||||||
|
}
|
||||||
|
|
|
@ -21,14 +21,14 @@ import derelict.sdl2.sdl;
|
||||||
import texture;
|
import texture;
|
||||||
import std.stdio;
|
import std.stdio;
|
||||||
|
|
||||||
class GameObjJumping : GameObj {
|
class GameObjJumping : GameObjBase {
|
||||||
//Don't disable this(), it's disable automatically when you define a
|
//Don't disable this(), it's disable automatically when you define a
|
||||||
//custorm constructor.
|
//custorm constructor.
|
||||||
//@disable this();
|
//@disable this();
|
||||||
|
|
||||||
//Take the pointer to the renderer and set initial values
|
//Take the pointer to the renderer and set initial values
|
||||||
this (SDL_Renderer* parRenderer) {
|
this (SDL_Renderer* parRenderer) {
|
||||||
m_renderer = parRenderer;
|
super(parRenderer);
|
||||||
m_wants_to_quit = false;
|
m_wants_to_quit = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ class GameObjJumping : GameObj {
|
||||||
void prepare() {
|
void prepare() {
|
||||||
string texture_name = "bcruiser_normal.bpg";
|
string texture_name = "bcruiser_normal.bpg";
|
||||||
writeln("Loading texture %s", texture_name);
|
writeln("Loading texture %s", texture_name);
|
||||||
m_texture = Texture(texture_name, m_renderer);
|
m_texture = Texture(texture_name, renderer());
|
||||||
}
|
}
|
||||||
|
|
||||||
void destroy() {
|
void destroy() {
|
||||||
|
@ -47,9 +47,9 @@ class GameObjJumping : GameObj {
|
||||||
|
|
||||||
//This is the function that is called at every frame
|
//This is the function that is called at every frame
|
||||||
void exec() {
|
void exec() {
|
||||||
SDL_RenderClear(m_renderer);
|
SDL_RenderClear(renderer());
|
||||||
m_texture.draw();
|
m_texture.draw();
|
||||||
SDL_RenderPresent(m_renderer);
|
SDL_RenderPresent(renderer());
|
||||||
m_wants_to_quit = do_events();
|
m_wants_to_quit = do_events();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,7 +59,6 @@ class GameObjJumping : GameObj {
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Texture m_texture;
|
Texture m_texture;
|
||||||
SDL_Renderer* m_renderer;
|
|
||||||
bool m_wants_to_quit;
|
bool m_wants_to_quit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue