加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

寒風的Cocos2dx之旅之一些游戏在控制方向的技巧

发布时间:2020-12-14 16:23:35 所属栏目:百科 来源:网络整理
导读:在.h文件中定义一个枚举类,里边包含了上下左右四个方向。 enum DIR { RIGHT_DIR, LEFT_DIR, UP_DIR, DOWN_DIR } 像贪吃蛇类的游戏,是自动行进的话,就是定义一个计划任务schedule,每隔多少秒向上下左右移动多少。但在之前应该先定义交互事件。 //创建监听

在.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函数中,由于小编时间紧迫,未来得及详细说明,希望对各位有用。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读