summaryrefslogtreecommitdiff
path: root/tools/xcode/templates/SFML/SFML App.xctemplate/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/xcode/templates/SFML/SFML App.xctemplate/main.cpp')
-rw-r--r--tools/xcode/templates/SFML/SFML App.xctemplate/main.cpp91
1 files changed, 91 insertions, 0 deletions
diff --git a/tools/xcode/templates/SFML/SFML App.xctemplate/main.cpp b/tools/xcode/templates/SFML/SFML App.xctemplate/main.cpp
new file mode 100644
index 0000000..b1b45ab
--- /dev/null
+++ b/tools/xcode/templates/SFML/SFML App.xctemplate/main.cpp
@@ -0,0 +1,91 @@
+
+//
+// Disclamer:
+// ----------
+//
+// This code will work only if you selected window, graphics and audio.
+//
+// Note that the "Run Script" build phase will copy the required frameworks
+// or dylibs to your application bundle so you can execute it on any OS X
+// computer.
+//
+// Your resource files (images, sounds, fonts, ...) are also copied to your
+// application bundle. To get the path to these resource, use the helper
+// method resourcePath() from ResourcePath.hpp
+//
+
+#include <SFML/Audio.hpp>
+#include <SFML/Graphics.hpp>
+
+// Here is a small helper for you ! Have a look.
+#include "ResourcePath.hpp"
+
+int main(int, char const**)
+{
+ // Create the main window
+ sf::RenderWindow window(sf::VideoMode(800, 600), "SFML window");
+
+ // Set the Icon
+ sf::Image icon;
+ if (!icon.loadFromFile(resourcePath() + "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(resourcePath() + "cute_image.jpg")) {
+ return EXIT_FAILURE;
+ }
+ sf::Sprite sprite(texture);
+
+ // Create a graphical text to display
+ sf::Font font;
+ if (!font.loadFromFile(resourcePath() + "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(resourcePath() + "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;
+}