
Cocos2dx
yongh701
这家伙很聪明,什么都没有留下
展开
-
【Cocos2dx】使用CCControlButton创建按钮、按钮点击事件,点击事件中的组件获取,setPosition的坐标问题
按钮不仅在游戏,在任何地方都是不可或缺却又是最基本的东西。在游戏引擎Cocos2dx中也不例外。下面用一个例子说明Cocos2dx中如何使用按钮,同时,如果在Cocos2dx中获取层,也就是场景、舞台中的组件。如下图,有一个按钮Clickme,被点击时候与不被点击的时间,其背景图片是不同的。其实就是资源文件夹Resource中早就被玩坏的两个图片,一张CloseNormal.png一张Cl原创 2015-08-25 20:43:35 · 6010 阅读 · 2 评论 -
【Cocos2dx】精灵触摸跳跃功能
用户触摸屏幕,然后游戏主角跳跃,或者你让它做其它的事情等,这也是在手游中极其常见的动作。再Cocos2dx实现起来其实就是《【Cocos2dx】触摸事件》(点击打开链接)与《【Cocos2dx】基本动作、动作序列与动作合并》(点击打开链接)两者的结合,相当简单的。下面用一个小例子说明这个制作过程:触摸(点击)屏幕,我们的关闭按钮会上升一段距离,同时,在其“跳跃”的过程不会出现违原创 2015-10-09 16:35:05 · 4014 阅读 · 2 评论 -
【Cocos2dx】用当前游戏状态作为暂停背景、纯文字纯图片按钮与不间断的重复动作序列
在《【Cocos2dx】使用CCControlButton创建按钮、按钮点击事件,点击事件中的组件获取,setPosition的坐标问题》(点击打开链接)已经介绍过Cocos2dx的按钮,怎么用CCScale9Sprite与CCControlButton实现,然而这样的按钮必须要有文字与图片配合起来才能够实现,有时我们只需要一个文字按钮,或者纯图片按钮。同时,虽然在《【Cocos2dx】利用导原创 2015-11-09 11:24:55 · 1993 阅读 · 0 评论 -
【Cocos2dx】连续滚动的场景
连续滚动的场景很常见于酷跑、赛车的2d手游,实际上也只是一张边缘被处理过的图片,生成两次,不停地在背景连续移动,具体如下图:来来去去就是2张完全相同的、边缘紧贴图片在不停地交换位置,形成连续滚动的视觉效果。下面用一个小例子说明这个问题,如下图,Cocos2dx的自带的Helloworld.png就在连续滚动。只是你很明显看得出两张图片边缘。那些因为这张图片的边缘存在色差啊!原创 2015-10-09 10:55:06 · 2137 阅读 · 0 评论 -
【Cocos2dx】手势识别
Cocos2dx中没有附带滑动手势识别的函数,只提供四个触摸事件,一个是触摸开始、一个是触摸过程中、一个接触结束,还有一个是不怎么用的触摸被系统的电话打断。这在《【Cocos2dx】触摸事件》(点击打开链接)已经提到过了,这里不再赘述。然而,只是能够识别一个触摸按下动作而已,如果我要做到如下图一样的,识别用户的手势滑动方向这怎么做呢?其实非常简单,首先,在头文件HelloWorldSc原创 2015-11-10 20:20:51 · 2381 阅读 · 0 评论 -
【Cocos2dx】菜单
Cocos2dx的菜单在《【Cocos2dx】用当前游戏状态作为暂停背景、纯文字纯图片按钮与不间断的重复动作序列》(点击打开链接)中开发按钮的时候,已经使用过了。只是当时使用菜单的时候,只在菜单中添加了一个菜单子项,看起来仅仅是一个按钮的效果,无法体会到Cocos2dx的菜单是什么使用的。其实Cocos2dx的菜单使用依次简单。比如如下例子:这是在手游中非常常见的菜单。为了测试原创 2015-11-10 17:07:39 · 901 阅读 · 0 评论 -
【Cocos2dx】飘字特效与碰撞检测
飘字特效主要常见与游戏里面的掉血表示伤害输出等。碰撞检测常见于一些横版过关或者跑酷的手游,判断是否有碰到食物,或者什么障碍物等,都是比较常见的功能,下面就用一个小例子,来说明这两个特效如何完成。如下图所示,有两个按钮,点击/触摸屏幕,则下方的按钮则会跳起来。碰到处于屏幕中央的按钮,则会弹出飘字特效,显示碰撞。同时,左上角的时刻,这两个按钮是否碰撞,也就是是否交汇,相互接触,相交,inter原创 2015-10-28 20:36:18 · 3612 阅读 · 0 评论 -
【Cocos2dx】利用导演类、场景类完成重新开始游戏、暂停游戏、关闭游戏功能
重新开始游戏、暂停游戏、关闭游戏是绝对是游戏的基础,虽然代码不多,不过这要利用到Cocos2dx导演类、场景类完成,事先如果不对其进行了解,绝对是很难做出来。下面用一个小例子说明如何利用导演类、场景类完成重新开始游戏、暂停游戏、关闭游戏功能,这个被改写的HelloWorld场景,一开始就声明一个在屏幕中央开始5s内上升100px的按钮精灵,可以看到,点击左上角的Refresh!原创 2015-10-31 11:12:38 · 10200 阅读 · 1 评论 -
【Cocos2dx】计时器的使用,计时器的嵌套,与在计时器中延时执行一段代码
Cocos2dx的计时器schedule,在《【Cocos2dx】连续滚动的场景》(点击打开链接)中实现即时更新事件的时候已经提到过,但是当时只是用到this->schedule(),这个无参数的计时器,仅仅是实现不停执行函数的功能,如果要求定间隔执行一段函数,延时执行一段代码,则需要对this->schedule()进行更加详细的运用。下面用一个小例子说明Cocos2dx的计时器如何使用。原创 2015-10-31 16:52:58 · 3420 阅读 · 0 评论 -
【Cocos2dx】根据窗口大小进行拉伸
为了适应多平台、不同尺寸的设备,或者我们想省去修改一次游戏尺寸就改一次图片的麻烦。我们需要将Cocos2dx上的精灵,按照根据当前的屏幕大小进行拉伸。虽然上次在《【Cocos2dx】使用CCScale9Sprite拉伸图片》(点击打开链接)介绍过如何在Cocos2dx利用Scale9Sprite进行图片的拉伸,然而,这样做出来的效果是静态的,拉伸之后出来的结果完全是一个不能对其进一步操作的CC原创 2015-11-08 09:57:12 · 3193 阅读 · 0 评论 -
【Cocos2dx】使用CCScale9Sprite拉伸图片
如下图,在资源的Rescources文件夹中自带一个40x40的按钮图片如果我们在Cocos2dx设定此图片自动拉伸为填充游戏屏幕的800x600图片,如下图:总不能在外部利用Photoshop等图形处理软件,自行把这张40x40的图片拉伸为800x600,然后根据不同的设备的分辨率,做多张图片吧?此时可以利用Cocos2dx的CCScale9Sprite。CCSc原创 2015-08-20 20:32:02 · 7339 阅读 · 3 评论 -
【Cocos2dx】利用音量螺旋控件控制血量条
其实主要是利用一个小例子来说明两个控件如何使用,一个是CCControlPotentiometer音量螺旋控件,另一个是如何利用CCControlSlider控件整出游戏中常见的血量条。如图,随着音量螺旋控件的扭动,血量条在变化。制作过程如下:一、基本准备1、首先同样还是利用(cocos2d-x-2.2.6安装目录)\tools\project-creator下的c原创 2015-08-27 11:17:20 · 1474 阅读 · 2 评论 -
【Cocos2dx】基本动作、动作序列与动作合并
之前几篇关于Cocos2dx的文章都是从一些静态的事物入手,比如控件、场景什么的。其实,Cocos2dx中提供了大量动作实现方法,移动一个精灵并不是那么费事,直接调用该方法即可,唯一的难点就是多个动作如何组合起来,下面用一个例子来说明这个问题。做出如下的实例:有一个已经被玩烂的自带按钮精灵,首先闪烁3下,之后向上移动,等待1秒之后向下跳动,之后旋转缓慢下落。这个效果很赞很赞,如果要用F原创 2015-08-31 17:06:50 · 6952 阅读 · 0 评论 -
【Cocos2dx】触摸事件
Cocos2dx与玩家之间的互动,很大一个情况是通过处理玩家的触摸事件来实现的。在移动应用就是触摸,在PC应用就是点击。下面用一个小例子说明,Cocos2dx的触摸事件。如下图,每当用户触摸(点击)屏幕,就会生成一个触摸精灵,结束点击之后结束生成,在精灵没有结束生成之前,触摸拖动能够改变此按触摸按钮的位置。同时,任何一个触摸,都会记录当前的坐标。制作过程还是老样子,首先利用(c原创 2015-09-02 09:18:36 · 2814 阅读 · 0 评论 -
【Cocos2dx】动作监听
其实Cocos2dx动作监听,如果把《【Cocos2dx】基本动作、动作序列与动作合并》(点击打开链接)联系起来,就变得简单了。所谓的“Cocos2dx动作监听”实质上就是一个在某一段动作之后执行的函数,一个“假”动作,下面继续用一个例子来说明这个问题。如下图,一个按钮精灵,在闪烁3次并向上移动100px之后,在屏幕上显示"Action Done!",实质就是在屏幕上添加"Action Don原创 2015-09-01 10:48:17 · 1205 阅读 · 0 评论 -
【Cocos2dx】Windows平台下Cocos2dx 2.x的下载、安装、配置,打造自己的Helloworld
Cocos2dx就不废话介绍了, 非常火的游戏引擎,关键是它开源,可以免费下载、学习、开发,不用搞这么多激活的东西。下面以Cocos2dx 2.x为例说明这个平台的一些基本东西。虽然现在Cocos2dx早已去到3.x的稳定版本,但之所以选用Cocos2dx 2.x版本,主要是这方面的资料比较多,本来搞Cocos2dx的人就不多了,搞了也没几个人写写编程记录,再去毫无资料只有一堆难以看懂的官方文档的原创 2015-08-18 19:44:47 · 5802 阅读 · 0 评论 -
【Cocos2dx】中文乱码问题
Cocos2dx的中文乱码问题,造成原因是VS将其以GBK编译,而Cocos2dx本身的引擎是UTF-8,所以非西欧字符会出现乱码。谁让cocos2d-x是由cocos2d而来,而cocos2d这东西是老外写的呢?引擎的编写者根本没有考虑这点。解决的方式有很多种,比如在VS写一段转码函数,引入Cocos2dx的iconv库,但这都不是好方法,主流的解决方法是将中文字符串写到UTF-8编码的XM原创 2015-09-02 11:51:27 · 2696 阅读 · 0 评论 -
【Cocos2dx】新建场景、场景的切换、设置启动场景与菜单的新建
这是Cocos2dx最简单的部分。主要是体现对场景的操作,其实这东西就是Flash的舞台,安卓的Activity,WIN32窗体程序的Framework窗体,网页的body,反正就是对那个容纳各种东西的大容器进行操作,爱怎么叫就怎么叫。用一个例子说明这个问题,将会做出如下的效果,在官方提供的Helloworld加一个场景Scene1,Scene1里面就摆一个可以切回Helloworld的按钮,原创 2015-08-20 10:52:03 · 11463 阅读 · 4 评论 -
【Cocos2dx】资源文件夹,播放背景音乐,导入外部库
在Cocos2dx中播放背景音乐是一件很容易的事情,就一行代码,但是首先要导入Cocos2dx的音频引擎cocosDenshion。cocosDenshion对cocos2d工程提供了很方便的声音素材的调用和管理。同时要把要播放的音乐放到工程的资源文件夹才能正确播放与《【Cocos2dx】Windows平台下Cocos2dx 2.x的下载、安装、配置,打造自己的Helloworld》(点击打开原创 2015-08-20 19:55:39 · 3590 阅读 · 0 评论 -
【Cocos2dx】跑酷游戏
下面将用Cocos2dx完成一个跑酷游戏,跑酷游戏从头到尾包括美工完全可以一个人完成,就是比较耗费时间,只能达到能玩的程度而已。做出来的跑酷游戏如下所示:玩家能做的就只有一个动作,触摸屏幕,触摸屏幕之后,游戏的主角,就是黑色的方块,能够向上跳跃,再次触摸就能够二段跳,而在屏幕右上方则有不停发射的箭矢,玩家控制的黑色方块被射中,则会掉10滴血,从1000血可以扣,扣到0则游戏自动原创 2015-11-01 12:19:11 · 4707 阅读 · 0 评论