mirror of
https://github.com/SFML/SFML.git
synced 2024-11-26 13:21:05 +08:00
90 lines
2.1 KiB
C++
90 lines
2.1 KiB
C++
|
|
//
|
|
// 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();
|
|
}
|
|
|
|
// Escape 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;
|
|
}
|