当前位置: 首页 > news >正文

跨平台游戏引擎 Axmol-2.9.0 发布

Axmol 2.9.0 版本是一个以错误修复和功能改进为主的次要 LTS 长期支持版本,发布时间: 2025 年 10 月 5 日

🙏感谢所有对 axmol 项目的贡献者,包括财务赞助者:@scorewarrior(公司)、@peterkharitonov、@duong、@thienphuoc、@bingsoo、@asnagni 以及 历史赞助者

🙏我们衷心感谢 @scorewarrior(公司) 的鼎力支持——他们在 GitHub Sponsors 追加了每月 $2,000 的赞助金额,并在此之前已通过 Open Source Collective 持续每月赞助 $3,000。你们的慷慨帮助 Axmol 项目不断繁荣与成长。

仓库地址

  • GitHub (官方): https://github.com/axmolengine/axmol
  • Gitee (镜像): https://gitee.com/simdsoft/axmol

与 2.8.x 相比的重要变化:

3D 音频与基础效果

  • 由 @rh101 在 #2719 中添加音频声像(panning)支持
  • 由 @rh101 在 #2740 中添加在 3D 空间任意位置播放音频的支持
  • 由 @rh101 在 #2772 中初步实现使用 OpenAL 添加音频效果与滤波器的支持
  • 由 @rh101 在 #2779 中修复混响属性值

其他变化

  • 由 @halx99 在 #2784 中为移动设备添加屏幕方向控制
  • 由 @halx99 在 #2735 中添加新 API EventKeyboard::isRepeat
  • 由 @halx99 添加新 API ZipFile::createWithData 并将 ZipFile::createWithBuffer 标记为弃用
  • 由 @halx99 增强 Base64 解码器以跳过空白/换行并防止过早终止
  • 由 @halx99 在 #2792 中添加 Device::resolveOrientation 并精简分辨率逻辑

Bug 修复

  • 由 @halx99 在 #2704 中修复 ui::MediaPlayer 在 Apple 平台可能崩溃的问题
  • 由 @paulocoutinhox 在 #2713 中修复 AAB 构建中偶尔缺失 Android 资源的问题
  • 由 @rh101 在 #2749 中修复日志调用中的格式说明符
  • 由 @halx99 在 #2802 中修复在场景切换期间重置 director 时的崩溃问题

改进

  • 由 @halx99 在 #2805 中为 Http 添加 setDataCallback 以支持流式数据
  • 由 @halx99 在 #2791 和 #2795 中改进 iOS EditBox 在键盘显示时的方向处理
  • 由 @rh101 在 #2793 中添加从场景堆栈中提取前一个场景的支持
  • 由 @halx99 在销毁 _scheduler 前销毁 ScriptEngine 实例以尊重依赖关系
  • 由 @halx99 修复 SpineTest 瞄准 y 轴问题
  • 由 @halx99 在引擎中用新 API 替换已弃用调用
  • 由 @aismann 在 #2731 中更新 controller.cpp:将 “Audio - NewAudioEngine” 重命名为 “AudioEngine”
  • 由 @halx99 修复 lua-tests 中的若干非关键问题
  • 由 @halx99 从模板 cmake 模块中移除不存在的 yaml-cpp
  • 由 @halx99 移除 CI pull-request 触发事件:ready_for_review
  • 由 @halx99 更新 kcp 以解决 cmake 错误
  • 由 @halx99 在 iOS 上的 layoutSubviews 时派发 applicationScreenSizeChanged
  • 由 @halx99 将 iOS 内部类 EARenderView 重命名为 RenderHostView
  • 由 @rh101 在 #2799 中使 Director::getRunningScene() 在从 Node::onEnter() 调用时对任何类型的场景切换返回预期结果

SDK 和工具更新

  • webview2: 1.0.3405.78 => 1.0.3485.44

三方库更新

  • curl: 8.15.0 => 8.16.0
  • freetype: 2.13.3 => 2.14.1
  • jpeg-turbo: 3.1.1 => 3.1.2
  • luajit: 2.1-f9140a6 => 2.1-871db2c

发布文件 MD5 校验值

  • axmol-2.9.0.zip: 0100b8b0a73d25b0fb020590fc2e8a54
  • axmol-bs-2.9.0.zip: 114afdb56e2f507c831163e6cd6385e8

下载

GitHub

国内用户可尝试复制链接使用迅雷下载

  • axmol-2.9.0.zip
  • axmol-bs-2.9.0.zip

百度网盘

  • axmol-2.9.0.zip
  • axmol-bs-2.9.0.zip

SourceForge

Axmol-2.9.0

本版亮点详解

新增 API:ZipFile::createWithData

原因
现有的 API ZipFile::createWithBuffer 存在设计缺陷。它接受一个 const char* 缓冲区参数,但没有明确说明所有权,这使得该 API 依赖于外部缓冲区的生命周期。这可能导致未定义行为以及难以排查的错误。

改进
新的 API ZipFile::createWithData 接受一个 Data 对象作为参数。由于 Data 支持移动语义,所有权和生命周期更加明确。这确保了更安全的使用方式,降低了误用风险,并为开发者提供更可预测的行为。


为移动设备添加屏幕方向控制

原因
此前,屏幕方向只能通过平台设置静态配置
(例如 iOS 的 info.plist 或 Android 的 AndroidManifest.xml)。这种方式灵活性有限,
因为一旦应用启动,渲染方向就无法在运行时更改。

改进
引入了新的核心 API Device::setPreferredOrientation

  • 当在 info.plist(iOS)或 AndroidManifest.xml(Android)中已声明支持的方向时,
    该 API 允许在运行时动态修改渲染方向。
  • 开发者现在可以通过编程方式在竖屏和横屏模式之间切换,
    以适应游戏玩法、UI 流程或用户偏好。

收益

  • 一致的跨平台方向处理。
  • 无需平台特定代码即可动态调整方向。
  • 在运行时无缝适配渲染方向,提升用户体验。

开发者注意
引擎内部仅执行基础适配
仍建议开发者在 AppDelegate::applicationScreenSizeChanged 中自行处理分辨率和布局调整策略,
以确保在不同设备和方向下的正确缩放和 UI 行为。

http://www.dtcms.com/a/449166.html

相关文章:

  • 金融 - neo4j、Graph Data Science 安装
  • c 可以做网站吗梧州seo排名
  • LuaC API知识点汇总
  • mysql学习--DCL
  • 开源 C++ QT QML 开发(七)自定义控件--仪表盘
  • 论坛开源网站源码网站建设实验总结报告
  • Ansible实战:VMware下K8s自动化部署指南
  • Ansible(三)—— 使用Ansible自动化部署LNMP环境实战指南
  • 【深度学习新浪潮】有没有可能设计出一种统一架构,可以同时处理图像理解的各种下游任务?
  • 介绍一下什么是RabbitMQ的发送者可靠性?
  • 网站后台管理页面模板北京企业建网站定制价格
  • AI编辑器(二) ---调用模型的fim功能
  • UniApp 自定义导航栏适配指南:微信小程序胶囊遮挡、H5 与 App 全端通用方案
  • 数据结构其一 线性表
  • 2025年--Lc164--H14.最长公共前缀(数组和字符串)--Java版
  • 网站html有了怎么建设网站钉钉小程序开发
  • Linux基本指令(2)
  • 从工具到中枢:2025 年 AI 重构实体经济的实践图景
  • 虚幻基础:攻击 与 受击 之间的联动
  • 如何在不降低画质的前提下缩小图片体积?附实操方案
  • 个人网站注册费用互联网广告价格
  • 【学习笔记02】C++面向对象编程核心技术详解
  • vite与ts的结合
  • arcgis如何将一部分shp地图截取下来并处理成networkx格式
  • .NET Aspire深度解析:重新定义云原生分布式应用开发的“秘密武器“
  • 标准件网站开发手机淘宝网页版
  • 【网络编程】揭秘 HTTPS 数据安全:加密方案与证书体系的协同防护
  • Windows Server 2022 安装教程(从 ISO 文件安装 Server STD CORE 2022 64位系统)​
  • 【STM32】墨水屏驱动开发
  • Java 大视界 -- 基于 Java 的大数据实时流处理在工业物联网设备故障预测与智能运维中的应用