在.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函数中,由于小编时间紧迫,未来得及详细说明,希望对各位有用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。