Add text and rendering of color rectangles

This commit is contained in:
2020-08-22 13:17:56 +02:00
parent 618786f885
commit 329ef7f40f
4 changed files with 283 additions and 148 deletions
+15 -22
View File
@@ -10,6 +10,7 @@
#define DESTROYABLE_DESTROY 0x00000001
bool pause = false;
std::shared_ptr<SDLPP::Font> font;
class Player : public SDLPP::RectangleRender {
public:
@@ -125,6 +126,10 @@ std::vector<std::shared_ptr<SDLPP::Texture>> bgtextures;
bool quit = false;
void addStuff(SDLPP::Scene &scene, std::shared_ptr<SDLPP::Renderer> &r) {
auto bg = std::make_shared<SDLPP::RectangleRender>(0,0,10,10,r,"#ebdbb2FF", true);
bg->setId(123);
bg->setPermanent(true);
scene.addObject(bg);
std::shared_ptr<Destroyable> stone;
double posx = 0;
while(posx < 3) {
@@ -153,6 +158,10 @@ void addStuff(SDLPP::Scene &scene, std::shared_ptr<SDLPP::Renderer> &r) {
z->setId(DEATH);
z->setColiderColor("FF00FF");
scene.addObject(z);
auto y = std::make_shared<SDLPP::RectangleRender>(0, 0, 0.2, 0.1, r);
y->setTexture(*font, "THIS IS A TEST", "#FFFFFF", "#000000", 5);
y->setId(0);
scene.addObject(y);
}
void quitGame() {
@@ -162,20 +171,10 @@ void quitGame() {
void handleKeyDown(SDL_Keycode key, SDLPP::Scene &scene) {
switch(key) {
case SDLK_UP:
scene.setBackground(bgtextures[0]);
break;
case SDLK_DOWN:
scene.setBackground(bgtextures[1]);
break;
case SDLK_RIGHT:
scene.setBackground(bgtextures[2]);
break;
case SDLK_LEFT:
scene.setBackground(bgtextures[3]);
break;
case SDLK_ESCAPE:
quitGame();
if(pause)
scene.setPrevTicks(SDL_GetTicks());
pause = !pause;
break;
case SDLK_a:
player->addMovement(-1,0);
@@ -183,6 +182,7 @@ void handleKeyDown(SDL_Keycode key, SDLPP::Scene &scene) {
case SDLK_d:
player->addMovement(1,0);
break;
case SDLK_SPACE:
case SDLK_w:
if(!player->isJumping() && !pause) {
player->setLastStand();
@@ -193,14 +193,7 @@ void handleKeyDown(SDL_Keycode key, SDLPP::Scene &scene) {
break;
case SDLK_r:
scene.getRenderer().setRenderColiders(!scene.getRenderer().getRenderColiders());
break;
case SDLK_SPACE:
if(pause)
scene.setPrevTicks(SDL_GetTicks());
pause = !pause;
break;
default:
scene.setBackground(bgtextures[4]);
break;
}
}
@@ -290,14 +283,14 @@ int main() {
SDLPP::init();
SDLPP::Window w("Oh yeah, boi!");
auto renderer = std::make_shared<SDLPP::Renderer>(w);
renderer->setBlendMode(SDL_BLENDMODE_ADD);
renderer->setBlendMode(SDL_BLENDMODE_BLEND);
auto main_scene = std::make_shared<SDLPP::Scene>(renderer);
bgtextures.push_back(std::make_shared<SDLPP::Texture>(renderer, "1.bmp"));
bgtextures.push_back(std::make_shared<SDLPP::Texture>(renderer, "2.bmp"));
bgtextures.push_back(std::make_shared<SDLPP::Texture>(renderer, "3.png"));
bgtextures.push_back(std::make_shared<SDLPP::Texture>(renderer, "4.png"));
bgtextures.push_back(std::make_shared<SDLPP::Texture>(renderer, "test.bmp"));
main_scene->setBackground(bgtextures[0]);
font = std::make_shared<SDLPP::Font>("testfont.ttf", 24);
addStuff(*main_scene, renderer);
player->setMovementSpeed(0.3);
player->enableGravity();