Create SFML Window
Note: sfml .dlls should be manually copied to build directory.
This commit is contained in:
+61
-3
@@ -1,10 +1,68 @@
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
#include <SFML/Graphics.hpp>
|
||||
|
||||
int main()
|
||||
{
|
||||
cout << "Hello World!" << endl;
|
||||
std::cout << "Hello World!" << std::endl;
|
||||
|
||||
std::string gameName = "rpg";
|
||||
unsigned int windowStyle = sf::Style::Titlebar | sf::Style::Close;
|
||||
sf::ContextSettings settings;
|
||||
settings.antialiasingLevel = 16;
|
||||
|
||||
sf::RenderWindow window(sf::VideoMode(1280, 720), gameName, windowStyle, settings);
|
||||
window.setVerticalSyncEnabled(true);
|
||||
|
||||
sf::Clock fpsTimer;
|
||||
sf::Clock timer;
|
||||
sf::Time timeElapsed;
|
||||
|
||||
// Run the program as long as the window is open
|
||||
while (window.isOpen())
|
||||
{
|
||||
// Check all the window's events that were triggered since the last iteration of the loop
|
||||
sf::Event event;
|
||||
while (window.pollEvent(event))
|
||||
{
|
||||
// Close window : exit
|
||||
if (event.type == sf::Event::Closed || sf::Keyboard::isKeyPressed(sf::Keyboard::Escape))
|
||||
window.close();
|
||||
|
||||
// Enter fullscreen mode : key combination : Alt+Enter
|
||||
if (event.type == sf::Event::KeyPressed) {
|
||||
if (event.key.code == sf::Keyboard::Return) {
|
||||
if (sf::Keyboard::isKeyPressed(sf::Keyboard::LAlt)) {
|
||||
if (windowStyle == sf::Style::Fullscreen) {
|
||||
windowStyle = sf::Style::Titlebar | sf::Style::Close;
|
||||
}
|
||||
else {
|
||||
windowStyle = sf::Style::Fullscreen;
|
||||
}
|
||||
|
||||
window.create(sf::VideoMode(1280, 720), gameName, windowStyle, settings);
|
||||
window.setVerticalSyncEnabled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
window.clear(sf::Color(0, 0, 0));
|
||||
window.display();
|
||||
|
||||
timeElapsed = timer.getElapsedTime();
|
||||
if (timeElapsed.asSeconds() > 1)
|
||||
{
|
||||
// Display current FPS in window title
|
||||
timeElapsed = fpsTimer.getElapsedTime();
|
||||
int fps = 1000000 / timeElapsed.asMicroseconds();
|
||||
window.setTitle(gameName + " - fps: " + std::to_string(fps));
|
||||
|
||||
timer.restart();
|
||||
}
|
||||
|
||||
fpsTimer.restart();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
+13
-3
@@ -1,10 +1,20 @@
|
||||
TEMPLATE = app
|
||||
CONFIG += console
|
||||
CONFIG += c++11
|
||||
CONFIG -= app_bundle
|
||||
CONFIG -= qt
|
||||
|
||||
SOURCES += main.cpp
|
||||
|
||||
include(deployment.pri)
|
||||
qtcAddDeployment()
|
||||
|
||||
LIBS += -LC:/SFML/lib
|
||||
|
||||
CONFIG(release, debug|release): LIBS += -lsfml-audio -lsfml-graphics -lsfml-main -lsfml-network -lsfml-window -lsfml-system
|
||||
CONFIG(debug, debug|release): LIBS += -lsfml-audio-d -lsfml-graphics-d -lsfml-main-d -lsfml-network-d -lsfml-window-d -lsfml-system-d
|
||||
|
||||
INCLUDEPATH += C:/SFML/include
|
||||
DEPENDPATH += C:/SFML/include
|
||||
|
||||
TEMPLATE = app
|
||||
|
||||
SOURCES += main.cpp
|
||||
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 3.3.0, 2015-03-09T22:22:28. -->
|
||||
<!-- Written by QtCreator 3.3.0, 2015-03-09T23:11:56. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
@@ -226,7 +226,7 @@
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">rpg</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:C:/Users/Rick/Documents/GitHub/rpg/rpg/rpg.pro</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:C:/Users/Rick/Documents/GitHub/rpg/src/rpg.pro</value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">rpg.pro</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
|
||||
|
||||
Reference in New Issue
Block a user