fixed grass again, didn't help lol

This commit is contained in:
brxxh 2023-11-24 18:13:58 +01:00
parent 5a9eb10507
commit e37a74137d
2 changed files with 26 additions and 15 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Before After
Before After

View file

@ -176,33 +176,44 @@ struct Grass {
paradiso::Sprite grassRight;
paradiso::Sprite* scrolling[2] = {&grassLeft, &grassRight};
paradiso::Renderer renderer{};
paradiso::Renderer renderer1{};
paradiso::Renderer renderer2{};
Grass() {
auto grassImage = paradiso::BitmapIO::get().load("base.png");
grassLeft = paradiso::Sprite{
.bitmap = grassImage,
.pivot = {paradiso::Vector2<float>::make(1.0f, -0.9f)},
.scale = {paradiso::Vector2<float>::make(2.0f, 0.33333f)}};
.pivot = {paradiso::Vector2<float>::make(0.0f, -0.9f)},
.scale = {paradiso::Vector2<float>::make(((500.0f - (500.0f - 504.0f)) / 500.0f) * 2.25f, ((700.0f - (700.0f - 112.0f)) / 700.0f) * 2.25f)}};
grassRight = paradiso::Sprite{
.bitmap = grassImage,
.pivot = {paradiso::Vector2<float>::make(1.0f, -0.9f)},
.scale = {paradiso::Vector2<float>::make(2.6f, 0.33333f)}};
.pivot = {paradiso::Vector2<float>::make(1.002f, -0.9f)},
.scale = {paradiso::Vector2<float>::make(((500.0f - (500.0f - 504.0f)) / 500.0f) * 2.25f, ((700.0f - (700.0f - 112.0f)) / 700.0f) * 2.25f)}};
}
void draw(const paradiso::Shader& shader) {
for (auto sprite : scrolling) {
if (game_over == false) {
if (sprite->pivot.x() <= -1.0f) {
sprite->pivot.x() += 2.0f;
}
sprite->pivot.x() -= 0.02f;
if (game_over == false) {
grassLeft.pivot.x() -= 0.02f;
grassRight.pivot.x() -= 0.02f;
if (grassRight.pivot.x() <= 0.0f) {
grassLeft.pivot.x() = 1.002f;
}
if (grassRight.pivot.x() <= -1.002f) {
grassRight.pivot.x() = 1.002f;
}
shader.set_uniform("pivot", sprite->pivot);
shader.set_uniform("scale", sprite->scale);
shader.set_uniform("rotation", sprite->rotation);
renderer.draw(*sprite, shader);
}
shader.set_uniform("pivot", grassLeft.pivot);
shader.set_uniform("scale", grassLeft.scale);
shader.set_uniform("rotation", grassLeft.rotation);
shader.set_uniform("pivot", grassRight.pivot);
shader.set_uniform("scale", grassRight.scale);
shader.set_uniform("rotation", grassRight.rotation);
renderer1.draw(grassLeft, shader);
renderer2.draw(grassRight, shader);
}
};