2048最近火到不行,今天就教大家做一个自己的2048~
2dx版本cocos2d-2.1rc0-x-2.1.3
分析:
游戏输入:
手势滑动来判断是向哪个方向来滑动.
所以,第一部分我来教大家来做接收手势这部分.
首先,在.h文件里重写生命周期函数
用来注册和移除委托。
//重写生命周期函数
virtual void onEnter();
virtual void onExit();
实现:
void game2048::onEnter()
{
CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 0, false);
CCLayer::onEnter();
}
void game2048::onExit()
{
CCDirector::sharedDirector()->getTouchDispatcher()->removeDelegate(this);
CCLayer::onExit();
}
一定要记得,委托一般都是成对出现的,有注册就要对应有移除。如果你想对一个CCnode进行委托监听,那么创建这个类的时候就可以进行监听了,而当本类退出时也可以对应删除其监听。
所以一班情况,推荐大家将触屏时间的注册与移除代码都写在onEnter和onExit里。如果注册委托不及时移除掉,就有可能造成程序的异常退出。
接下来,定义一些变量,和触摸事件后的方法。
//坐标
float beginX;
float beginY;
float endX;
float endY;
//滑向上下左右的方法
bool swipeUp();
bool swipeDown();
bool swipeLeft();
bool swipeRight();
bool game2048::swipeUp()
{
CCLOG("doUp");
return true;
}
bool game2048::swipeDown()
{
CCLOG("doDown");
return true;
}
bool game2048::swipeLeft()
{
CCLOG("doLeft");
return true;
}
bool game2048::swipeRight()
{
CCLOG("doRight");
return true;
}
先不写实现,只是为了测试触屏事件,CCLOG即可~
然后,我们重写触屏回调函数
virtual bool ccTouchBegan(cocos2d::CCTouch *touch, cocos2d::CCEvent *unused_event);
virtual void ccTouchEnded(cocos2d::CCTouch *touch, cocos2d::CCEvent *unused_event);
bool game2048::ccTouchBegan(cocos2d::CCTouch *touch, cocos2d::CCEvent *unused_event)
{
//记录初始点
CCPoint curPoint = touch->getLocation();
touch->getLocationInView();
beginX=curPoint.x;
beginY=curPoint.y;
return true;
}
void game2048::ccTouchEnded(cocos2d::CCTouch *touch, cocos2d::CCEvent *unused_event)
{
//获取X轴和Y轴的移动范围
CCPoint curPoint=touch->getLocation();
endX=beginX - curPoint.x;
endY=beginY - curPoint.y;
//判断X轴和Y轴的移动距离,如果X轴的绝对值大,则向左右滑动,如果Y轴的绝对值大,则向上下滑动
if(abs(endX) > abs(endY))
{
//判断向左还是向右
if(endX + 5 >= 0)
{
swipeLeft();
}
else
{
swipeRight();
}
}
else
{
//判断手势向上还是向下
if(endY + 5 >= 0)
{
swipeDown();
}
else
{
swipeUp();
}
}
}
OK,这样简单的触屏测试就写完了~
看看效果~
OK,接下来更精彩~
- 大小: 14.2 KB
分享到:
相关推荐
Cocos2DX是一款开源的游戏开发框架,主要用于创建2D和3D游戏,它基于C++,同时提供了Python、Lua等多种脚本语言接口。这个压缩包包含三本关于Cocos2DX的重要教程,分别是《Cocos2D-x权威指南》、《Cocos2d-x高级开发...
本项目“基于Cocos2dx平台的2048游戏”旨在教你如何使用Cocos2dx框架来构建一款经典的2048游戏。 2048是一款极具挑战性的数字拼图游戏,玩家通过上下左右滑动屏幕,使数字方块合并,目标是得到一个2048的方格。在...
在Cocos2dx 2.x版本中播放MP4格式的视频文件是一项常见的需求,尤其是在开发游戏或者多媒体应用时。Cocos2dx是一个基于C++的游戏开发框架,它提供了丰富的功能来帮助开发者创建2D和3D游戏。在这个场景中,我们将深入...
使用Cocos2dx的命令行工具,你可以轻松创建一个新的游戏项目。通过执行“cocos new”命令,指定项目名称和选择模板类型,即可生成一个包含基本文件结构的项目。 3. 项目结构理解: 学习Cocos2dx时,了解项目的...
在iOS开发中,Cocos2dx是一个广泛使用的游戏开发框架,它允许开发者创建跨平台的2D和3D游戏。然而,随着Apple对App Store审核政策的调整,使用UIWebView的App将不再被接受,因为Apple已经将其列为弃用API。在2020年...
在游戏开发领域,Cocos2dx是一款广泛使用的开源游戏引擎,它基于C++,并提供了对多种平台的支持,包括iOS。本资源包含了斗地主游戏的服务端和客户端代码,这为我们提供了一个深入理解如何构建一款跨平台游戏的机会。...
总结来说,"cocos2dx_3.15.rar"不仅提供了一个实际的ipa示例,展示了cocos2dx在iOS平台的部署流程,同时也包含了丰富的教程和指南,帮助开发者深入理解cocos2dx 3.15的各种特性和使用技巧。无论是初学者还是经验丰富...
总之,这个压缩包为cocos2dx的学习者提供了一个宝贵的资源库,包含了实际应用中的案例和实践,通过它,你可以逐步掌握cocos2dx3.17的3D游戏开发技能。在学习过程中,建议先了解cocos2dx的基础概念,然后逐步探索每个...
Cocos2dx 教程之 ClockDemo,SweetLover 发布原创教程拓展了 Cocos2dx 官方的教程案例,此为 SweetLover 指定的代码及其资源,视频教程可参考:http://v.youku.com/v_show/id_XODk3Nzk2MTc2.html?firsttime=2.509
Cocos2dx是一款高度受欢迎的游戏开发框架,专为2D和3D游戏设计。它基于C++,并提供了丰富的API接口,使得开发者可以方便地创建跨平台的游戏应用。在提供的标题“cocos2dx-3.0功能强大的richText控件源码”中,我们...
在本篇内容中,我们将深入探讨“我所理解的cocos2dx pdf”这一主题,通过对标题、描述以及部分关联内容的分析,提取并总结出关于Cocos2dx的重要知识点。 ### Cocos2d-x 概览 #### 1. Cocos2d-x 是什么? Cocos2d-x...
Cocos2DX是一款开源的游戏开发框架,主要用于创建2D和3D游戏,它基于C++,并且支持多种平台,包括iOS、Android、Windows、Mac、Linux等。Cocos2DX的核心理念是提供一个高效、易用且功能强大的工具集,让开发者能够...
Cocos2dx是一款开源的游戏开发框架,主要用于构建2D和3D游戏,它基于C++,并且支持多种脚本语言,包括Lua。本教程将详细介绍如何在Windows环境下使用Visual Studio 2015(VS2015)搭建Cocos2dx与Lua的开发环境。 ...
《我所理解的Cocos2dx》是一本深入解析Cocos2d-x游戏引擎的高清扫描版书籍,基于Cocos2d-x3.0版本进行详细讲解。Cocos2dx是一个开源的游戏开发框架,它基于C++,同时支持Lua和JavaScript,让开发者能够快速构建2D和...
4. **cocos2e-x手机游戏开发配套代码.rar**:这是一个包含Cocos2d-x游戏开发示例代码的压缩文件。这些代码可能是为了配合前面的文档或教程,让读者能够亲手实践,加深对Cocos2d-x的理解。代码示例可能覆盖了游戏的...