Skip to content
Snippets Groups Projects
Commit d60ac910 authored by Viktor Palmason's avatar Viktor Palmason
Browse files

My code for the end credits section including a filler sprite

parent a52d919a
No related branches found
No related tags found
No related merge requests found
vikto_dev/Textures/devil.png

228 KiB

#include <SFML/Graphics.hpp>
#include <vector>
#include <iostream>
int main()
{
// VARIABLES
sf::Clock movementClock; // delta Time for movement
sf::Clock gameTime; // Total game run time
sf::Clock spawnTime; // delta time for spawning objects
// WINDOW
sf::RenderWindow window(sf::VideoMode(640, 640), "SFML works!");
// TEXTURE AND SPRITE
sf::Texture devTex;
sf::Sprite devSprite;
if (!devTex.loadFromFile("Textures/devil.png")) {
std::cout << "Image not found" << std::endl;
}
devSprite.setTexture(devTex);
devSprite.setScale(0.4f, 10.5f);
// SHAPES
sf::RectangleShape shape(sf::Vector2f(200.f, 50.f));
shape.setPosition(window.getSize().x / 2 - shape.getSize().x/2, window.getSize().y + shape.getSize().y); // A the center of the window
shape.setFillColor(sf::Color::Green);
// Vector storing all the shapes
std::vector<sf::RectangleShape> shapes;
shapes.push_back(sf::RectangleShape(shape));
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
// UPDATE
// moving the shapes
if (gameTime.getElapsedTime().asSeconds() < 3)
{
if (movementClock.getElapsedTime().asMilliseconds() > 1.f)
{
// FOR MOVING THE SHAPES INSIDE THE VECTOR OF SHAPES
/*for (size_t i = 0; i < shapes.size(); i++)
{
shapes[i].move(0.f, -0.4f * movementClock.getElapsedTime().asMilliseconds());
if (shapes[i].getPosition().y < 0 - shape.getSize().y) {
shapes.erase(shapes.begin() + i);
}
}*/
devSprite.move(0.f, -0.4f * movementClock.getElapsedTime().asMilliseconds());
movementClock.restart();
}
}
else
{
if (movementClock.getElapsedTime().asMilliseconds() > 1.f)
{
// FOR MOVING THE SHAPES INSIDE THE VECTOR OF SHAPES
/*for (size_t i = 0; i < shapes.size(); i++)
{
shapes[i].move(0.f, -0.1f * movementClock.getElapsedTime().asMilliseconds());
if (shapes[i].getPosition().y < 0 - shape.getSize().y) {
shapes.erase(shapes.begin() + i);
}
}*/
devSprite.move(0.f, -0.1f * movementClock.getElapsedTime().asMilliseconds());
movementClock.restart();
}
}
// FOR SPAWNING SHAPES
/*if (gameTime.getElapsedTime().asSeconds() < 3)
{
if (spawnTime.getElapsedTime().asMilliseconds() > 300.f) {
shapes.push_back(sf::RectangleShape(shape));
spawnTime.restart();
}
}
else
{
if (spawnTime.getElapsedTime().asMilliseconds() > 1000.f) {
shapes.push_back(sf::RectangleShape(shape));
spawnTime.restart();
}
}*/
// DRAW
window.clear();
// FOR DRAWING THE SHAPES INSIDE THE VECTOR OF SHAPES
/*for (size_t i = 0; i < shapes.size(); i++)
{
window.draw(shapes[i]);
}*/
window.draw(devSprite);
window.display();
}
return 0;
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment