forked from Hartmut/paradiso
fixed grass again, didn't help lol
This commit is contained in:
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 |
|
@ -176,33 +176,44 @@ struct Grass {
|
||||||
paradiso::Sprite grassRight;
|
paradiso::Sprite grassRight;
|
||||||
paradiso::Sprite* scrolling[2] = {&grassLeft, &grassRight};
|
paradiso::Sprite* scrolling[2] = {&grassLeft, &grassRight};
|
||||||
|
|
||||||
paradiso::Renderer renderer{};
|
paradiso::Renderer renderer1{};
|
||||||
|
paradiso::Renderer renderer2{};
|
||||||
|
|
||||||
Grass() {
|
Grass() {
|
||||||
auto grassImage = paradiso::BitmapIO::get().load("base.png");
|
auto grassImage = paradiso::BitmapIO::get().load("base.png");
|
||||||
grassLeft = paradiso::Sprite{
|
grassLeft = paradiso::Sprite{
|
||||||
.bitmap = grassImage,
|
.bitmap = grassImage,
|
||||||
.pivot = {paradiso::Vector2<float>::make(1.0f, -0.9f)},
|
.pivot = {paradiso::Vector2<float>::make(0.0f, -0.9f)},
|
||||||
.scale = {paradiso::Vector2<float>::make(2.0f, 0.33333f)}};
|
.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{
|
grassRight = paradiso::Sprite{
|
||||||
.bitmap = grassImage,
|
.bitmap = grassImage,
|
||||||
.pivot = {paradiso::Vector2<float>::make(1.0f, -0.9f)},
|
.pivot = {paradiso::Vector2<float>::make(1.002f, -0.9f)},
|
||||||
.scale = {paradiso::Vector2<float>::make(2.6f, 0.33333f)}};
|
.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) {
|
void draw(const paradiso::Shader& shader) {
|
||||||
for (auto sprite : scrolling) {
|
if (game_over == false) {
|
||||||
if (game_over == false) {
|
grassLeft.pivot.x() -= 0.02f;
|
||||||
if (sprite->pivot.x() <= -1.0f) {
|
grassRight.pivot.x() -= 0.02f;
|
||||||
sprite->pivot.x() += 2.0f;
|
|
||||||
}
|
if (grassRight.pivot.x() <= 0.0f) {
|
||||||
sprite->pivot.x() -= 0.02f;
|
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);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue