如何在cocos2d环境之外为cocos2d游戏实现虚拟摇杆?

2024-02-11

我正在开发一款iPad游戏,使用cocos2d并且需要虚拟操纵杆。我有一个使用 SneakyJoystick 启动并运行的原型。

然而,我意识到我的游戏设计要求我使用 CCTransitions 在 CCScene 的不同实例之间移动用户,以获得我想要的视觉效果。问题是,我不希望用户控件(如操纵杆)受到 CCTransitions 的影响 - 我希望它们保留在屏幕上(与 CCScene 占用的部分不同的屏幕部分。)

我意识到做到这一点的唯一方法是将整个 cocos2d 环境保留在 EAGLView 中,该视图占用的区域小于整个屏幕,这使我可以将所有用户控件保留在屏幕上的其他位置,在那里它们不受场景转换的影响。

问题是,这意味着 SneakyJoystick 可能不再是一个选项,因为它是一个 CCNode,因此可能只能在 cocos2d 场景图中运行。

我很好奇是否有人针对这种情况有替代解决方案:一种在 cocos2d 环境之外实现虚拟操纵杆的方法,但可以以某种方式与 cocos2d 场景流畅地通信。

如果我可以通过从这个非 cocos2d 类中利用 cocos2d 的计划更新,或者以其他方式将用户输入信息从操纵杆类推送到 cocos2d 来保留 SneakyJoystick 或非常类似的功能,那就太好了。


也许您可以创建一个 UIView 并将其放在 opengl 视图上。要访问 openglView 使用[CCDirector sharedDirector].openGLView。使用 UIView 创建操纵杆。因此它将始终显示,并且不会受到 CCScene 转换的影响。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在cocos2d环境之外为cocos2d游戏实现虚拟摇杆? 的相关文章

随机推荐