十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
因为iOS,Android设备使用触摸屏来输入,没有传统移动游戏设备配备的按钮,十字按钮或者模拟手柄,我们需要一个虚拟手柄来控制游戏。你可以使用虚拟手柄对游戏物体进行操控,就像使用实际的手柄一样。
我们提供的服务有:成都网站设计、成都做网站、外贸网站建设、微信公众号开发、网站优化、网站认证、黄南州ssl等。为成百上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的黄南州网站制作公司SneakyInput控制手柄源码: 点我下载
把×××下来,加入到你的项目中,别忘了在android.mk添加相关内容哦!
我们首要目标是添加一个可以让玩家进行飞船射击的按钮,他们点击按钮的时候 会发射×××,
----------------------
接下来 我会在项目中添加一个新的类InputLayer ,这个类继承自CCLayer,他会被添加到MainScene
- CCScene *MainScene::scene() {
- do
- while
- return
将SneakyInput添加到InputLayer的头文件中
- #include "SneakyInput/SneakyButton.h"
- #include "SneakyInput/SneakyJoystick.h"
- #include "SneakyInput/SneakyButtonSkinnedBase.h"
- #include "SneakyInput/SneakyJoystickSkinnedBase.h"
另外,我在头文件中加了一个SneakyButton成员变量,因为我们马上就会用到。
- classpublic
- public
- virtual
- void
- bool
在init方法中 我们生成了一个SneakyButton
- bool
- boolfalse
- do
- float
- new
- this
- this
- true
- while
- return
因为SneakyButton没有用到initWithRect方法中的CGRect参数,所以我传了一个CGRectZero给这个方法。实际的处理触摸事件的代码是使用radius(半径)这个属性来决定按钮是否要响应触摸。 |
InputLayer类通过以下代码预约更新
- this
更新方法是用来测试按钮是否已被点击
- void
- if
- "按下按钮"
运行程序,你会发现屏幕上没有任何按钮 不过你可以点击屏幕右下角 然后可以在log日志中正在打印“按下按钮”
接下来 我们将让按钮可见,也就是添加皮肤
这里 我们使用到了SneakyButtonSkinnedBase
- bool
- boolfalse
- do
- float
- new
- // 这个属性可以让玩家按住按钮不放的时候,×××会持续地射击出去
- true
- //默认状态
- "nor.png"
- //点击状态
- "tou.png"
- //激活状态
- "tou.png"
- this
- this
- true
- while
- return
我们不需要设置按钮的半径属性了,因为SneakyButtonSkinnedBase类会使用提供的按钮图片来确定按钮半径的大小 |
控制动作
接下来我们在游戏中添加摇杆
- bool
- boolfalse
- do
- float
- new
- // 决定虚拟手柄的半径大小
- //自动回到中心
- true
- //是否支持死亡区域,该区域不会触发
- true
- //死亡区域的半径
- //摇杆的背景图
- "handle1.png"
- //摇杆的图片
- "handle2.png"
- this
- this
- true
- while
- return
完成摇杆的添加 接下来要实现摇杆事件的监听
- void
- // getVelocity()到的数值很小 需要放大 800是估算的
- if
- "x=%f,y=%f"
接下来一章将开发一个小游戏,如有问题,请提出
本教程根据Cocos2d教程翻译过来
使用的cocos2d-x版本为2.02
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。