Ouzel
Ouzel是一款主要針對2D遊戲開發的C ++遊戲引擎。
支持的平臺:
- Windows 7,8,10
- macOS 10.8+
- Linux的
- iOS 8+
- tvOS 9+
- Android 3.0+
- Emscripten
支持的渲染後端:
- Direct3D 11
- OpenGL 2, OpenGL 3 and OpenGL 4
- OpenGL ES 2 and OpenGL ES 3
- Metal
支持的音頻後端:
- XAudio 2
- DirectSound
- CoreAudio
- OpenAL
- OpenSL ES
- ALSA
特徵
- 跨平臺(支持Windows,macOS,iOS,tvOS,Android,Linux和Emscripten目標)
- 多線程(用於渲染,聲音和遊戲的單獨線程)
- 2D和3D場景管理
- GUI助手類和管理
- 位圖和真實字體支持
- 多個並排視口支持
- XInput,DirectInput,IOKit,Apple GameController和Linux evdev遊戲手柄支持
- 演員動畫(包括補間)系統
- 粒子系統
- 資源緩存系統
- 通過加載字符串轉換和UTF-8字符串支持進行本地化支持
- 用於音效播放的軟件音頻混音器
- Windows,macOS和iOS上的高DPI支持
- 易於安裝(只需拉動存儲庫並構建它)
系統要求
- Windows 7+與Visual Studio 2017或更新版本
- 使用Xcode 7.2+的macOS 10.10+
- 使用gcc 5+或clang 3.4+的任何合理的新Linux發行版(支持x86和ARM)
彙編
GNU makefile,Xcode項目和Visual Studio項目文件位於“build”目錄中。示例項目的Makefile和項目文件位於“samples”目錄中。
您需要下載安裝的OpenGL(例如Mesa),ALSA和OpenAL驅動程序才能在Linux上構建Ouzel。對於x86 Linux,還需要libx11,libxcursor,libxi和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
因為在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
示例應用
將打開以下代碼,在其中心創建一個帶有精靈的場景:
#include "ouzel.hpp"
class Example: public ouzel::Application
{
public:
Example():
assets(ouzel::engine->getCache())
{
assets->loadAsset(ouzel::assets::Loader::IMAGE, "player.png");
ouzel::engine->getSceneManager().setScene(&scene);
scene.addLayer(&layer);
cameraActor.addComponent(&camera);
layer.addChild(&cameraActor);
playerSprite.init("player.png");
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<:application> ouzel::main(const std::vector<:string>& args)
{
return std::make_unique<example>();
}
/<example>
頭條的代碼顯示不友好,在給個截圖吧
示例代碼運行動態圖
開源地址
由於頭條審核網址比較嚴,防止他們誤會是推廣,所以大家可以自行搜索下載
也可以關注我的頭條號後給我發送 `ouzel`,會自動把下載地址發送給你(做了關鍵字自動回覆)
您知道哪些好用的一鍵安裝包,歡迎評論分享,共同探討學習
更多更優質的資訊,請關注我,你的支持會鼓勵我不斷分享更多更好的優質文章。
閱讀更多 星集 的文章