很久之前就了解到Godot,因为前阵子研究Zircon mir3的代码所以心血来潮... 关键字:Godot, GDScript, zircon mir3, 游戏移植, ZL资源解析, NPC动画, 客户端资源复用

项目分析
项目说明
市场上传奇的引擎已经很成熟,本文章只是个人对Godot的熟悉了解为出发点,对于希望往传奇事业发展的朋友并不推荐。
新手上路
初识Godot与GDScript
两天时间熟悉Godot基础界面,轻量级体验良好。GDScript语法接近Python,学习曲线平缓,已掌握节点系统、信号机制等核心概念,为后续开发奠基。
ZL资源解压技术攻关
资源识别首日即遇阻。PackedByteArray.decompress方法参数理解偏差,多次尝试无果。Godot论坛发帖后迅速获解,需明确指定算法类型与缓冲区大小,问题迎刃而解。深刻体会到活跃社区的价值。
NPC动画资源成功加载
突破解压后,顺利读取客户端原始ZL动画包。通过自定义导入插件直接解析资源内的帧数据并构建Sprite2D动画,首个NPC已能播放待机/互动动画,标志移植进入实质阶段。
Area2D 初遇碰撞问题
NPC资源载入后需要实现鼠标交互,查阅官方文档发现 Area2D 很适合
2D 空间中的一个区域,能够检测到其他 CollisionObject2D 的进入或退出。
CollisionObject2D 能够容纳任意数量的 Shape2D 用作碰撞形状。每个形状必须分配给一个形状所有者
PCK包的尝试
考虑了从零开始整理素材的计划,首页要验证的是技术是否可行,查阅了资料发现Godot可以导出资源为PCK包。因为是自产自销,所以代码很容易就走通了。
不过因为没有太多时间去整理素材,所以技术先搁置着,用loadWZL的方式先把基础的一些功能实现了:blush:
最后
路远且艰,工作已经很多代码要敲了,兴趣就看心情吧 :sunglasses: