Cocos2D-X游戏摇杆制作流程详解

    作者:课课家教育更新于: 2019-03-27 20:25:35

      我们在游戏开发中经常会使用游戏摇杆完成玩家与精灵的互动,本篇教程将带你详细解读Cocos2d-x游戏摇杆的制作流程。

      核心思想

      解耦,采用事件机制将joystick的事件和目标对象之间的关联进行解耦

      实现思路

      1.继承自layer并注册监听touch event

      2.若touch事件在joystick的中心点触发的,则继续下面的逻辑

      3.更新joystick中心点的位置

      4.计算touch点joystick中心点的角度(角度范围,第一象限[0, 90], 第二象限[90, 180], 第三象限[-180, -90], 第四象限[-90, 0])

      5.发布自定义的joystick event,目前事件仅包含上面计算的角度值,可根据需要进行增改

      6.注册joystick event的事件监听器,并在回调函数里实现你的业务逻辑

      7.joystick event中的userdata的内存释放,交给auto-release-pool了, 具体见JoystickEvent的实现

      核心代码

      JoystickEvent主要是规范内存管理,严格按照cocos的'风俗'进行: 两段构造方式create+Ref+pool,使create出的对象像个栈上的局部变量。(mainLoop下次清理pool时自动删除)。

      Joystick的核心代码

    Cocos2D-X游戏摇杆制作流程详解_Cocos2D-X摇杆_Cocos2D-X游戏开发_Cocos2D-X教程_课课家

      集成到项目

      我以proj.linx为例

      拷贝相关cpp .h到工程并在CMakeLists.txt中增加cpp

      添加joystick到场景

      注册监听joystick event

课课家教育

未登录

1