Axmol引擎2.5.0版本发布:跨平台游戏开发的重大更新
Axmol是一个开源的跨平台2D游戏引擎,基于Cocos2d-x分支发展而来。它继承了Cocos2d-x的优秀特性,同时进行了大量优化和改进,为开发者提供了更高效、更稳定的游戏开发体验。Axmol支持Windows、macOS、Linux、Android、iOS以及WebAssembly等多个平台,特别适合开发2D移动游戏和桌面游戏。
核心改进与优化
音频系统增强
2.5.0版本新增了对.opus音频格式的支持,这是现代游戏开发中一个重要的音频格式选择。Opus格式以其高效的压缩率和优秀的音质著称,特别适合网络传输和移动设备使用。同时修复了音频播放结束时getCurrentTime()返回0的问题,确保了音频播放状态的准确性。
渲染系统优化
在图形渲染方面,本次更新修复了WASM平台下CommandBufferGL::readPixels功能失效的问题,这对于需要屏幕截图或后期处理效果的开发者尤为重要。此外,DrawNode现在支持"闭合"样条曲线绘制,为开发者提供了更灵活的绘图能力。
性能提升
SpriteFrameCache现在使用uint64_t作为映射键,提高了资源管理的效率和稳定性。FastTMXLayer也进行了性能优化,这对于使用瓦片地图(TileMap)的游戏项目将带来明显的性能提升。
跨平台支持改进
Android平台
FileUtils::listFiles现在能够正确处理空文件夹,解决了资源管理中的一个常见问题。同时确保了C++对象模型的一致性,提高了Android平台的稳定性。
WASM平台
新增了设置_APP_RES_FOLDER的能力,开发者可以更灵活地指定资源目录。还提供了一个生产就绪的WASM页面模板,简化了Web游戏的发布流程。
构建系统增强
CMake构建系统进行了多项改进:
- 简化了项目CMakeLists.txt结构,将代码段移动到cmake模块中
- 修复了BUILD_SHARED_LIBS在Linux和Android平台的问题
- 支持通过.axproj文件覆盖构建配置
- 自动安装缺失的MSVC工具集
开发工具与第三方库更新
项目依赖的多个重要第三方库进行了版本升级:
- yasio升级到4.3.2版本
- fmtlib升级到11.1.4
- flatbuffers升级到25.2.10
- robin_map升级到1.4.0
构建工具链也同步更新:
- Gradle升级到8.13
- CMake升级到4.0.0
- Emscripten SDK升级到4.0.6
开发者体验优化
RichText的XML解析能力得到增强,现在支持使用em和%单位指定字体大小,为UI文本布局提供了更多灵活性。事件监听器ID查找问题得到修复,提高了事件系统的可靠性。项目模板中添加了缺失的override说明符,帮助开发者编写更规范的代码。
总结
Axmol 2.5.0作为一个长期支持(LTS)版本,在稳定性、性能和开发者体验方面都做出了显著改进。无论是音频支持、渲染优化,还是跨平台构建系统的增强,都体现了项目团队对游戏开发实际需求的深入理解。这些改进使得Axmol成为2D游戏开发领域一个更加成熟和可靠的选择。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0255
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
JoyAI-VL-Interaction-Preview京东开源首个开源、视觉驱动的实时交互模型——它能实时监控视频流,并自主决定何时发言、保持沉默或委托任务。Jinja00
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0183
MaxKB强大易用的开源企业级智能体平台Python02
note-gen一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。TSX011