铁嘴李的Cocos2dx之旅之一些游戏在控制方向的技巧

在.h文件中定义一个枚举类,里边包含了上下左右四个方向。

enum DIR

{

RIGHT_DIR,

LEFT_DIR,

UP_DIR,

DOWN_DIR

}

像贪吃蛇类的游戏,是自动行进的话,就是定义一个计划任务schedule,每隔多少秒向上下左右移动多少。但在之前应该先定义交互事件。

//创建监听对象

auto listener=EventListenerTouchOneByOne::create();

//回调方法

listener->onTouchBegan=CCCallBack_2(GameScene::GameLogic,this);

//事件分发

_eventDispatcher->addEventListenerWithSceneGraphPriority(listener,this);

--------------------------------------------------------------------------------------------------------------------------------------

if(mx>my)//左右移动

{

//点击的方向比头的方向大,向右移动,水平方向,否则向左移动。

if (touch->getLocation().x-10>head->col*31)

{

//向右移动

head->dir=RIGHT_DIR;

}

else

{

//向左移动

head->dir=LEFT_DIR;

}

}

else//上下移动

{

if(touch->getLocation().y-10>head->row*31)

{

//向上移动

head->dir=UP_DIR;

}

else

{

//向下移动

head->dir=DOWN_DIR;

}

}

//以上内容应写到onTouchBegan函数中,由于小编时间紧迫,未来得及详细说明,希望对各位有用。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-25 10:19:33

铁嘴李的Cocos2dx之旅之一些游戏在控制方向的技巧的相关文章

铁嘴李的Cocos2dx之旅之地图编辑器的使用

使用TexturePacker打包多张小图 1.将多张小图拖动到TextPacher中. 2.定义导出格式       导出plist文件名,导出合成图的png文件名 3.选择publish发布      生成一个xxx.plist和xxx.png 4.拷贝这两个文件到Rescoures目录 5.使用SpriteFrameCache一次性加载到缓存       SpriteFrameCache::getInstance()->addSpriteFrameWithFile("xxx.plis

[寒江孤叶丶的Cocos2d-x之旅_39]Cocos骨骼动画功能解密

原创文章,欢迎转载,转载请注明:文章来自[寒江孤叶丶的Cocos2d-x之旅系列] 博客地址:http://blog.csdn.net/qq446569365 原创文章,首发地址:http://www.cocos.com/cocos/dynamic/2015/0908/82.html 在游戏中,人物的各种动作是必不可少,一般实现人物动作的方式有两种,序列帧动画或骨骼动画.Cocos在更新到2.x版本之后,便没有了骨骼动画的功能,使得开发者非常困扰.终于在本次更新中,Cocos编辑器将骨骼动画添加

[寒江孤叶丶的Cocos2d-x之旅_33]RichTextEx一款通过HTML标签控制文字样式的富文本控件

RichTextEx一款通过HTML标签控制文字样式的富文本控件 原创文章,欢迎转载.转载请注明:文章来自[寒江孤叶丶的Cocos2d-x之旅系列] 博客地址:http://blog.csdn.net/qq446569365 下载地址 Github链接 这个是干什么的 将例如以下文字内容 "<#F37C2A><font Helvetica><30>[世]<#3AB5B3><underLine true>寒江孤叶<underLine

[寒江孤叶丶的Cocos2d-x之旅_26]重大喜讯!CocoStudio终于支持导出LUA文件了!

原创文章,欢迎转载,转载请注明:文章来自[寒江孤叶丶的Cocos2d-x之旅系列] 博客地址:http://blog.csdn.net/qq446569365 CocoStudio虽然好用,但是使用该工具导出的文件加载速度实在是慢,Json版本的文件慢的感人,二进制版本虽然相比之下快很多,但是依旧差强人意.这导致很多公司放弃CocoStudio,而采用程序员手写代码的形式开发UI,虽然这对程序造成了很大的压力,但是为了游戏的运行效果,只得妥协(其中包括我们公司). 今天Cocos的发布会发布了最

[寒江孤叶丶的Cocos2d-x之旅_32]微信输入框风格的IOS平台的EditBox

原创文章,欢迎转载,转载请注明:文章来自[寒江孤叶丶的Cocos2d-x之旅系列] 博客地址:http://blog.csdn.net/qq446569365 偶然看到一个游戏注册账号时候,输入框是弹出来的.看起来很帅气,于是我也模仿着写了个.OC不精通很苦恼啊--经过一上午的努力,终于搞定了.测了很长时间,没有明显BUG,欢迎各位反馈! 没输入任何东西时候的默认文字: 等待输入状态,隐藏默认文字: 输入文字时候,游戏中的输入框和弹出的输入框都有会光标闪烁: 修改时候也会显示之前输入的内容: 代

[寒江孤叶丶的Cocos2d-x之旅_34]ODSocket(BSDSocket)如何在切换网络状态时自动重连

原创文章,欢迎转载,转载请注明:文章来自[寒江孤叶丶的Cocos2d-x之旅系列] 博客地址:http://blog.csdn.net/qq446569365 用于监听IOS网络状态切换(WIFI和移动蜂窝网络) 有什么作用 在Socket网络游戏中,经常会用到BSDSocket.用户切换网络状态时,Socket链接会断开,如果通过Receive的返回值来判断网络是否断开,需要等待很长时间(4-20s) 这个时候就需要监听IOS网络状态切换,当发现用户切换网络状态时,直接重连Socket. 如何

Cocos2d-x 小试牛刀五子连珠游戏

Cocos2d-x 小试牛刀五子连珠游戏 声明:本文游戏使用的是cocos2d-x-3.13的代码 游戏介绍 本文将介绍有Cocos编写经典游戏,五子连珠.游戏规则,有一个10*10的棋盘,里面有六种颜色的珠子,点击棋盘的珠子可以移动到任意有开放路径的位置,如果横.竖.斜.反斜可以连接相同颜色珠子数大于等于5个,就可以消除.如果移动珠子后没有消除珠子,则会增3个珠子,如果棋盘被所有珠子填满则游戏结束. 游戏界面如下: 游戏代码 游戏代码下载地址:https://pan.baidu.com/s/1

李洪强iOS开发Swift篇—06_流程控制

李洪强iOS开发Swift篇—06_流程控制 一.swift中的流程控制 Swift支持的流程结构如下: 循环结构:for.for-in.while.do-while 选择结构:if.switch 注意:这些语句后面一定要跟上大括号{},在C语言中不是必须的 说明:跟C语言对比,用法基本一样的有:for.while.do-while.if 因此,只需要关注for-in和switch即可 二.for-in结构 简单使用: for-in和范围运算符 for i in 1...3 { println(

使用cocos2d-x v3.1开发小游戏(基本框架)

小游戏的组成 欢迎界面 在游戏资源未全部加载完之前就需要载入,避免进入游戏会有一段黑屏时间. 可以用来展示游戏名称或者开发者logo. 开始菜单界面 一般用于显示游戏名称和关卡选择(或者称游戏难度选择). 可以外加一些设置性功能,如声音开关,帮助入口等等. 如果游戏设置内容较多可以把设置作为一个单独界面,在开始菜单上提供入口即可. 有的小游戏是以弹窗方式的菜单 主游戏界面 游戏的中心部分,比如2048游戏的格子滑动界面,扫雷游戏的扫雷界面,贪吃蛇游戏的蛇移动的界面,等等. 小游戏拥有这一个界面也