Ouzel是主要用于2D游戏开发的C ++游戏引擎。
Windows 7, 8, 10
macOS 10.8+
Linux
iOS 8+
tvOS 9+
Android 3.0+
Emscripten (sample)
Direct3D 11
OpenGL 2, OpenGL 3 and OpenGL 4
OpenGL ES 2 and OpenGL ES 3
Metal
XAudio 2
CoreAudio
OpenAL
OpenSL ES
ALSA
1、跨平台(支持Windows,macOS,iOS,tvOS,Android,Linux和Emscripten目标)
2、多线程(用于渲染,声音和游戏的单独线程)
3、2D和3D场景管理
4、GUI帮助程序类和管理
5、位图和真型字体支持
6、多个并排视口支持
7、XInput,DirectInput,IOKit,Apple GameController和Linux evdev游戏手柄支持
8、演员动画(包括补间)系统
9、粒子系统
10、资源缓存系统
11、通过加载字符串翻译和UTF-8字符串支持本地化
12、软件音频混音器,用于播放音效
13、在Windows,macOS和iOS上对DPI的高度支持
14、易于安装(只需拉存储库并进行构建)
以下代码将打开,以创建一个在其中心具有精灵的场景:
#include "assets/Bundle.hpp" #include "core/Engine.hpp" #include "scene/Camera.hpp" #include "scene/Layer.hpp" #include "scene/Scene.hpp" #include "scene/SpriteRenderer.hpp" class Example: public ouzel::Application { public: Example(): assets(ouzel::engine->getCache(), ouzel::engine->getFileSystem()) { assets.loadAsset(ouzel::assets::Loader::Image, "player", "player.png"); ouzel::engine->getSceneManager().setScene(&scene); scene.addLayer(&layer); cameraActor.addComponent(&camera); layer.addChild(&cameraActor); playerSprite.init("player"); player.addComponent(&playerSprite); layer.addChild(&player); } private: ouzel::scene::Scene scene; ouzel::scene::Layer layer; ouzel::scene::Camera camera; ouzel::scene::Actor cameraActor; ouzel::scene::SpriteRenderer playerSprite; ouzel::scene::Actor player; ouzel::assets::Bundle assets; }; std::unique_ptr<ouzel::Application> ouzel::main(const std::vector<std::string>& args) { return std::make_unique<Example>(); }
GNU makefile,Xcode项目和Visual Studio项目文件位于“ build”目录中。示例项目的Makefile和项目文件位于“示例”目录中。
您需要下载已安装的OpenGL(例如Mesa),ALSA和OpenAL驱动程序,才能在Linux上构建Ouzel。对于x86 Linux,还需要libx11,libxcursor,libxi,libxrandr和libxss。
要使用Emscripten构建Ouzel,请将“ PLATFORM = emscripten”传递给“ make”命令,但在执行此操作之前,请确保已安装Emscripten SDK:
$ make PLATFORM=emscripten
您可以通过在“ samples / android”目录中执行以下命令来构建Android示例并在Android设备上运行它们(必须安装Android SDK和NDK并将其添加到PATH):
$ gradle assembleDebug $ gradle installDebug $ adb shell am start -n org.ouzel/org.ouzel.MainActivity
要在Raspberry Pi上构建Ouzel,您将必须安装Raspberry Pi开发库(libraspberrypi-dev)和内核头文件(raspberrypi-kernel-headers)。
因为在Raspbian Stretch上将libEGL.so重命名为libbrcmEGL.so,将libGLESv2.so重命名为libbrcmGLESv2.so,所以在Raspbian 8(Jessie)或更早版本上构建示例之前,必须运行以下命令:
$ sudo ln -s /opt/vc/lib/libEGL.so /opt/vc/lib/libbrcmEGL.so $ sudo ln -s /opt/vc/lib/libGLESv2.so /opt/vc/lib/libbrcmGLESv2.so
Windows 7+和Visual Studio 2017或更高版本
带有Xcode 9.3+的macOS 10.10+
带有gcc 7+或clang 5+的任何合理的新Linux发行版(支持x86和ARM)
热门源码