***************************************转载请注明出处:http://blog.csdn.net/lttree******************************************
大家十一过得肿么样啊~
我现在的情况就是——每逢佳节 胖三斤 啊 ,胖三斤。。o(╯□╰)o。。
好了,继续做2048,
这是第四篇啦~
这篇的内容就是对触摸的处理哟~
就是,你上下左右滑动,相应移动~
我们先在 游戏的宏定义类 中,建立一个枚举方向变量:
GameDefine.h:
<span style="font-family:Comic Sans MS;">enum class MOVE_DIR
{
UP,
DOWN,
LEFT,
RIGHT
};</span>
然后,我们可以在 游戏界面 进行屏幕触摸处理了:
GameScene.h:
<span style="font-family:Comic Sans MS;">int m_x,m_y;
bool m_startMove;</span>
<span style="font-family:Comic Sans MS;">void moveAllTiled( MOVE_DIR dir );</span>
m_x和m_y 的作用是 记录屏幕开始触摸时的坐标,
m_startMove 判断是否开始触摸,并且在一个滑动结束前,不允许再次获取触摸
moveAllTiled 函数 作用 就是根据滑动的方向,对相应方向的数字块 进行合并或者移动
GameScene.cpp—— init函数:
<span style="font-family:Comic Sans MS;">// 屏幕触摸处理
// 创建触摸事件
auto event = EventListenerTouchOneByOne::create();
event -> onTouchBegan = [&](Touch *tou , Event *eve){
// 记录触摸位置
m_x = tou -> getLocation().x;
m_y = tou -> getLocation().y;
m_startMove = true;
ret