mirror of
https://github.com/SFML/SFML.git
synced 2024-11-28 14:21:04 +08:00
window, opengl and pong examples now work on iOS
This commit is contained in:
parent
82c2f4c05e
commit
1272b704d6
@ -22,11 +22,13 @@ endif()
|
||||
|
||||
if(SFML_BUILD_GRAPHICS)
|
||||
add_subdirectory(opengl)
|
||||
|
||||
if (NOT SFML_OS_IOS)
|
||||
add_subdirectory(joystick)
|
||||
add_subdirectory(shader)
|
||||
add_subdirectory(island)
|
||||
endif()
|
||||
add_subdirectory(island)
|
||||
|
||||
if(SFML_OS_WINDOWS)
|
||||
add_subdirectory(win32)
|
||||
elseif(SFML_OS_LINUX OR SFML_OS_FREEBSD)
|
||||
|
@ -7,5 +7,5 @@ set(SRC ${SRCROOT}/Island.cpp)
|
||||
# define the island target
|
||||
sfml_add_example(island GUI_APP
|
||||
SOURCES ${SRC}
|
||||
DEPENDS sfml-graphics sfml-window sfml-system
|
||||
RESOURCES_DIR resources)
|
||||
DEPENDS sfml-graphics
|
||||
RESOURCES_DIR resources)
|
||||
|
@ -7,5 +7,5 @@ set(SRC ${SRCROOT}/Joystick.cpp)
|
||||
# define the joystick target
|
||||
sfml_add_example(joystick GUI_APP
|
||||
SOURCES ${SRC}
|
||||
DEPENDS sfml-graphics sfml-window sfml-system
|
||||
DEPENDS sfml-graphics
|
||||
RESOURCES_DIR resources)
|
||||
|
@ -4,8 +4,17 @@ set(SRCROOT ${PROJECT_SOURCE_DIR}/examples/opengl)
|
||||
# all source files
|
||||
set(SRC ${SRCROOT}/OpenGL.cpp)
|
||||
|
||||
if (SFML_OS_IOS)
|
||||
set(RESOURCES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/resources/background.jpg
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/resources/texture.jpg
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/resources/sansation.ttf)
|
||||
set_source_files_properties(${RESOURCES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
||||
endif()
|
||||
|
||||
# define the opengl target
|
||||
sfml_add_example(opengl GUI_APP
|
||||
SOURCES ${SRC}
|
||||
BUNDLE_RESOURCES ${RESOURCES}
|
||||
DEPENDS sfml-graphics OpenGL
|
||||
RESOURCES_DIR resources)
|
||||
|
@ -18,6 +18,14 @@
|
||||
#define GL_SRGB8_ALPHA8 0x8C43
|
||||
#endif
|
||||
|
||||
std::string resourcesDir()
|
||||
{
|
||||
#ifdef SFML_SYSTEM_IOS
|
||||
return "";
|
||||
#else
|
||||
return "resources/";
|
||||
#endif
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Entry point of application
|
||||
@ -44,13 +52,13 @@ int main()
|
||||
// Create a sprite for the background
|
||||
sf::Texture backgroundTexture;
|
||||
backgroundTexture.setSrgb(sRgb);
|
||||
if (!backgroundTexture.loadFromFile("resources/background.jpg"))
|
||||
if (!backgroundTexture.loadFromFile(resourcesDir() + "background.jpg"))
|
||||
return EXIT_FAILURE;
|
||||
sf::Sprite background(backgroundTexture);
|
||||
|
||||
// Create some text to draw on top of our OpenGL object
|
||||
sf::Font font;
|
||||
if (!font.loadFromFile("resources/sansation.ttf"))
|
||||
if (!font.loadFromFile(resourcesDir() + "sansation.ttf"))
|
||||
return EXIT_FAILURE;
|
||||
sf::Text text("SFML / OpenGL demo", font);
|
||||
sf::Text sRgbInstructions("Press space to toggle sRGB conversion", font);
|
||||
@ -64,7 +72,7 @@ int main()
|
||||
|
||||
// Load a texture to apply to our 3D cube
|
||||
sf::Texture texture;
|
||||
if (!texture.loadFromFile("resources/texture.jpg"))
|
||||
if (!texture.loadFromFile(resourcesDir() + "texture.jpg"))
|
||||
return EXIT_FAILURE;
|
||||
|
||||
// Attempt to generate a mipmap for our cube texture
|
||||
@ -189,7 +197,7 @@ int main()
|
||||
if (mipmapEnabled)
|
||||
{
|
||||
// We simply reload the texture to disable mipmapping
|
||||
if (!texture.loadFromFile("resources/texture.jpg"))
|
||||
if (!texture.loadFromFile(resourcesDir() + "texture.jpg"))
|
||||
return EXIT_FAILURE;
|
||||
|
||||
mipmapEnabled = false;
|
||||
|
@ -3,9 +3,16 @@ set(SRCROOT ${PROJECT_SOURCE_DIR}/examples/pong)
|
||||
|
||||
# all source files
|
||||
set(SRC ${SRCROOT}/Pong.cpp)
|
||||
if (SFML_OS_IOS)
|
||||
set(RESOURCES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/resources/ball.wav
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/resources/sansation.ttf)
|
||||
set_source_files_properties(${RESOURCES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
||||
endif()
|
||||
|
||||
# define the pong target
|
||||
sfml_add_example(pong GUI_APP
|
||||
SOURCES ${SRC}
|
||||
BUNDLE_RESOURCES ${RESOURCES}
|
||||
DEPENDS sfml-audio sfml-graphics
|
||||
RESOURCES_DIR resources)
|
||||
|
@ -8,6 +8,18 @@
|
||||
#include <ctime>
|
||||
#include <cstdlib>
|
||||
|
||||
#ifdef SFML_SYSTEM_IOS
|
||||
#include <SFML/Main.hpp>
|
||||
#endif
|
||||
|
||||
std::string resourcesDir()
|
||||
{
|
||||
#ifdef SFML_SYSTEM_IOS
|
||||
return "";
|
||||
#else
|
||||
return "resources/";
|
||||
#endif
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Entry point of application
|
||||
@ -33,7 +45,7 @@ int main()
|
||||
|
||||
// Load the sounds used in the game
|
||||
sf::SoundBuffer ballSoundBuffer;
|
||||
if (!ballSoundBuffer.loadFromFile("resources/ball.wav"))
|
||||
if (!ballSoundBuffer.loadFromFile(resourcesDir() + "ball.wav"))
|
||||
return EXIT_FAILURE;
|
||||
sf::Sound ballSound(ballSoundBuffer);
|
||||
|
||||
@ -63,7 +75,7 @@ int main()
|
||||
|
||||
// Load the text font
|
||||
sf::Font font;
|
||||
if (!font.loadFromFile("resources/sansation.ttf"))
|
||||
if (!font.loadFromFile(resourcesDir() + "sansation.ttf"))
|
||||
return EXIT_FAILURE;
|
||||
|
||||
// Initialize the pause message
|
||||
|
Loading…
Reference in New Issue
Block a user