diff options
Diffstat (limited to 'tools/xcode/templates/SFML/SFML CLT.xctemplate/main.cpp')
-rw-r--r-- | tools/xcode/templates/SFML/SFML CLT.xctemplate/main.cpp | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/tools/xcode/templates/SFML/SFML CLT.xctemplate/main.cpp b/tools/xcode/templates/SFML/SFML CLT.xctemplate/main.cpp new file mode 100644 index 0000000..daeddf0 --- /dev/null +++ b/tools/xcode/templates/SFML/SFML CLT.xctemplate/main.cpp @@ -0,0 +1,89 @@ + +// +// Disclamer: +// ---------- +// +// This code will work only if you selected window, graphics and audio. +// +// In order to load the resources like cute_image.png, you have to set up +// your target scheme : +// +// - Select "Edit Schemeā¦" in the "Product" menu; +// - Check the box "use custom working directory"; +// - Fill the text field with the folder path containing your resources; +// (e.g. your project folder) +// - Click OK. +// + +#include <SFML/Audio.hpp> +#include <SFML/Graphics.hpp> + +int main(int argc, char const** argv) +{ + // Create the main window + sf::RenderWindow window(sf::VideoMode(800, 600), "SFML window"); + + // Set the Icon + sf::Image icon; + if (!icon.loadFromFile("icon.png")) { + return EXIT_FAILURE; + } + window.setIcon(icon.getSize().x, icon.getSize().y, icon.getPixelsPtr()); + + // Load a sprite to display + sf::Texture texture; + if (!texture.loadFromFile("cute_image.jpg")) { + return EXIT_FAILURE; + } + sf::Sprite sprite(texture); + + // Create a graphical text to display + sf::Font font; + if (!font.loadFromFile("sansation.ttf")) { + return EXIT_FAILURE; + } + sf::Text text("Hello SFML", font, 50); + text.setColor(sf::Color::Black); + + // Load a music to play + sf::Music music; + if (!music.openFromFile("nice_music.ogg")) { + return EXIT_FAILURE; + } + + // Play the music + music.play(); + + // Start the game loop + while (window.isOpen()) + { + // Process events + sf::Event event; + while (window.pollEvent(event)) + { + // Close window : exit + if (event.type == sf::Event::Closed) { + window.close(); + } + + // Espace pressed : exit + if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Escape) { + window.close(); + } + } + + // Clear screen + window.clear(); + + // Draw the sprite + window.draw(sprite); + + // Draw the string + window.draw(text); + + // Update the window + window.display(); + } + + return EXIT_SUCCESS; +} |