玩转cocos2d-x 从零开始的cocos2d-x开发之路

来源:互联网 发布:网络维护经验 编辑:程序博客网 时间:2024/05/17 22:57

[移动开发]【玩转cocos2d-x之三十四】绘图:CCDrawingPrimitives和CCDrawNode

最近忙出翔了,这年过的也揪心。好久没来更新博客了,今天就来写一写cocos2d-x中图形的绘制。1.概述其实cocos2d-x封装了大量的opengl的绘图函数,我们可以很轻松的在游戏中调用。但是实际上我们很少会这么做,因为编码绘图的方式效率实在太低了,尤其是诸如一些高阶贝塞尔曲线之类的,官方也不建议这么做,使用图像能更有效的提高绘图效率,同时也会更为的美观,也减少了一些精...

cocos2d-xCCDrawingPrimitivesCCDrawNode绘图

偶尔e网事2014-02-08 08:28 阅读(2443) 评论(7)

[移动开发]【玩转cocos2d-x之三十三】游戏嵌入Webview网页

手游《我叫MT》一开始会弹出一个游戏公告,有玩过的肯定都蛮熟悉的,这就是webview,就是一个网页。由于webview和平台相关,这里就介绍下cocos2d-x如何嵌入andorid的webview控件,在cocos2d-x中显示网页。1.JniJni这里我就不再多说了。可用参考wikipedia,或者微信飞机大战的移植篇。通过Jni,可以实现在cocos2d-x中调用Android的API,当然也可以进行传值。2.Android使用webview直接上代码。主要是处理布局和webview...

cocos2d-xwebview网页AndroidJNI

偶尔e网事2013-12-26 10:03 阅读(3868) 评论(1)

[移动开发]【玩转cocos2d-x之三十二】xml的解析

cocos2d-x中对xml的解析是采用的TinyXML库,而对plist的解析同时结合了CCDictionary来处理,这里简单介绍下cocos2d-x中解析xml的两种方式,也是常用的xml两个C++解析库:TinyXML和RapidXML。xml被设计用于数据存储和传输,重点是数据内容本身,而不像html,用于表现数据。1.TinyXML1.1.概况T...

cocos2d-xxml解析TinyXMLRapidXML

偶尔e网事2013-12-19 08:53 阅读(3033) 评论(12)

[移动开发]【玩转cocos2d-x之三十一】弱联网与服务器的通讯

这里采用Apache+php搭建了一个简易服务器,服务端用php语言,客户端采用cocos2d-x的CCHttpClient类通过http方式访问服务端资源。模拟了cocos2d-x提交账户和密码到服务端,服务端校验帐号密码,如果正确返回客户端成功登录,如果错误则返回错误信息,同时在服务端后台保存登录log。第一次接触php,语法上和C/C++还是蛮像的,主要是给出一个cocos2d-x网络实例,...

cocos2d-x联网apachephpCCHttpClient服务器

偶尔e网事2013-12-16 09:01 阅读(3558) 评论(6)

[移动开发]【玩转cocos2d-x之三十】点九图和输入框的使用

登录界面一个帐号/密码输入框或者主角命名框是少不了的。这节就来了解一下点九图的输入框的使用。这里只是介绍使用的基础,并不进行平台的移植,也不处理跨平台可能出现的问题。1.点九图CCScale9Sprite1.1.概述点九图做过移动开发的肯定不会陌生。采用的是PNG点9图,PNG点9图可以自适应各种环境,同时保持伸缩不变形。移动端的UI基本上都是按这个来做的。点9图的制作很简单,...

cocos2d-xCCEditBoxCCScale9Sprite点九图输入框

偶尔e网事2013-12-13 10:35 阅读(2505) 评论(13)

[移动开发]【玩转cocos2d-x之二十九】利用CCClipingNode做游戏遮罩

新手引导是游戏中必备的(除了奇葩的MT用一段动画开始),也是玩家对游戏的第一印象,重要性不言而喻。一般采用的遮罩的形式来突出引导重点,同时屏蔽其他功能。这里简单的介绍一下游戏遮罩的实现,并给出一个示例。1.CCClipingNodeCCClipingNode是一个可裁剪节点,简单理解:(1)首先它是一个节点,继承于CCNode,所以它可以像普通节点一样放入CCLayer,CCS...

cocos2d-xCCClipingNode游戏遮罩游戏引导裁剪节点

偶尔e网事2013-12-06 10:33 阅读(3626) 评论(13)

[移动开发]【玩转cocos2d-x之二十八】cocos2d-x的消息和数据传递

如何在层间或者场景间进行消息传递,大概是每个初学者都要面对的问题吧。这里介绍cocos2d-x的一种消息/数据传递方式,内置的观察者模式,也称消息通知中心,CCNotificationCenter。1.CCNotificationCenterCCNotificationCenter是cocos2d-x提供的一个消息中心,类似于观察者模式,是一个单例类,用于辅助控制消息传递。大概工作...

消息传递数据传递CCNotificationCenter观察者模式回调函数

偶尔e网事2013-12-03 09:39 阅读(2950) 评论(8)

[移动开发]【玩转cocos2d-x之二十七】CCSequence不能执行CCRepeatForever

之前在遇到这么一个问题,在CCSequence中加入CCRepeatForever,发现其他动作执行没问题,就是CCRepeatForever无法执行。代码并没有问题,很奇怪。1.示例[cpp] view plaincopyCCBlink* blink=CCBlink::create(0.5f,10);//创建闪烁动画,dur...

CCSequenceCCRepeatForever无法执行解决方案

偶尔e网事2013-11-29 08:40 阅读(3015) 评论(9)

[移动开发]【玩转cocos2d-x之二十六】数据结构CCDictionary

CCDictionary在cocos2d-x中被大量的应用,比如CCTexureCache,CCSpriteFramCache等等。1.实现原理1.1.uthashCCDictionary是使用uthash实现的,而过时的CCMutableDictionary则是使用STL实现,就效率而言CCDictionary至少提升了两倍,而且CCDictionary并没有...

CCDictionaryuthashCCDictElementCCDICT_FOREACH

偶尔e网事2013-11-26 08:47 阅读(2979) 评论(5)

[移动开发]【玩转cocos2d-x之二十五】数据结构CCArray

CCArray是从cocos2d中移植过来的,类似于Apple的NSMutableArray,但是比NSMutableArray更为的好用。要注意的是虽然CCArray和CCDictionary可以管理cocos2d-x中绝大多数的类,但是仍然无法替代STL库,STL库更为强有力。1.API先看一下CCArray可以帮我们做什么。1.1.创建[c...

CCArrayfastmove内存效率CCARRAY_FOREACH

偶尔e网事2013-11-25 08:58 阅读(2662) 评论(7)

[移动开发]【玩转cocos2d-x之二十四】截图保存功能的实现

官方TestCpp有这个demo了,这里还是把它单独拖出来写一下,游戏推广的一个很重要组成就是玩家分享,所以游戏截图就起到很大作用了。截图功能通过CCRenderTexture实现。1.CCRenderTextureCCRenderTexture是一个通用渲染对象,可以通过构建一个CCRenderTexture对象,进而把要渲染的东西填充进去,在渲染开始前调用call函数,调用co...

cocos2d-xCCRenderTexture截图保存

偶尔e网事2013-11-13 08:41 阅读(3149) 评论(7)

[移动开发]【玩转cocos2d-x之二十三】多线程和同步03-图片异步加载

cocos2d-x中和Android,Windows都一样,如果在主线程中处理一些耗时操作,那么主线程就会出现阻塞现象,表现在界面上就是卡住,未响应等情况。为了避免这种情况的出现,我们需要在后台开辟工作线程进行数据的处理,再采用消息传递或者其他形式来通知主线程进行UI变化。最常见的情况就是游戏进入前的loading。1.图片的异步加载在多线程和同步的第一篇就有介绍到使用pthrea...

cocos2d-x异步加载图片addImageAsyncaddSpriteFramesWithF游戏loading

偶尔e网事2013-11-11 09:47 阅读(4416) 评论(9)

[移动开发]【玩转cocos2d-x之二十二】多线程和同步02-售票

pthread有很多不同应用,官网都有相应的API解释和Sample,这里不再重复,本文主要介绍cocos2d-x中一个多线程和同步示例。1.卖票孙鑫老师的C++和Java多线程卖票一直让我念念不忘,好吧,这里用cocos2d-x和pthread实现一个吧。总共有100张火车票,有2个售票点A和B再售票,当票卖完了就结束了。我们知道当程序一开始进程就会创建一个主线程,我们可以在主线...

cocos2d-xpthreadmutex时间片售票

偶尔e网事2013-11-05 10:15 阅读(2358) 评论(6)

[移动开发]【玩转cocos2d-x之二十一】多线程和同步01-pthread库

和其他框架一样,cocos2d-x允许我们使用多线程进行编程。cocos2d-x使用的是pthread库,是一套用户级线程库,被广泛地使用在跨平台应用上。1.配置在使用pthread之前,需要把头文件和库文件链接进来。pthread的官网戳这里,当然cocos2d-x帮我们包含进引擎了。1.1.头文件pthread.h放在\cocos2d-x目录\cocos2dx\plat...

cocos2d-x多线程pthreadMutex线程安全

偶尔e网事2013-11-04 10:41 阅读(4158) 评论(27)

[移动开发]【玩转cocos2d-x之二十】从CCObject看cocos2d-x的内存管理机制

再看CCObject,剔除上节的拷贝相关,以及Lua脚本相关的属性和方法后,CCObject还剩下什么?1.剩下什么?可以看到整个CCObject就是围绕着m_uReference和m_uAutoReleaseCount在转。这两个变量的解释如下。所以CCObject剩下的其实就是对内存的管理。CCObject::CCObject(void)//构造函数: m_nLuaI...

cocos2d-x内存管理自动内存管理手动内存管理addChild

偶尔e网事2013-10-31 09:09 阅读(2542) 评论(2)

[移动开发]【玩转cocos2d-x之十九】从CCObject看cocos2d-x的拷贝机制

CCObject在之前的文章中出现了N次,它扮演了一个老祖宗的角色,但是它到底是做什么的?先从它看看cocos2d-x的拷贝机制吧。1.CCCopyingCCObject从CCCopying继承而来,而CCCopying拥有唯一的虚函数copyWithZone,这个函数可以认为是拷贝的一个协议,所有继承了CCObject并且需要实现拷贝功能的子类都可以通过它来实现,它的源码很简单,...

cocos2d-xCCObjectCCCopying拷贝机制copyWithZone

偶尔e网事2013-10-30 08:13 阅读(2598) 评论(6)

[移动开发]【玩转cocos2d-x之十八】仿《中国好学霸》文字拖拽和定位

现在各种猜成语猜歌名好学霸之类的游戏火的一塌糊涂。本节就介绍下文字的拖拽和定位。1.基本原理其实这只是精灵的简单拖拽和坐标的识别而已。当触摸点在精灵的范围内,精灵可以感应拖动,当触摸结束进行位置判断,如果在有效范围内就进行自动定位。2.实现2.1.背景加入和文字精灵的加入这里是采用这一节http://blog.csdn.net/jackystudio/artic...

cocos2d-x精灵拖拽中国好学霸疯狂猜成语

偶尔e网事2013-10-28 08:49 阅读(2756) 评论(15)

[移动开发]【玩转cocos2d-x之十七】cocos2d-x中文显示

cocos2d-x的中文显示其实就是一个UTF-8编码在作怪而已,一种简单的方法就是把文本保存为UTF-8编码即可(注意不是UTF-8 + BOM),建议使用UE,Sublime Text或者EditPlus之类的本文编辑器。这里介绍另一种方法:通过读取xml文件显示中文,这种方法更利于软件的国际化,demo顺便实现了中英文切换。1.xml文件先写好一个xml文件(CHN_...

cocos2d-x中文显示xmlCCDictionary中英文切换

偶尔e网事2013-10-25 08:20 阅读(3020) 评论(6)

[移动开发]【玩转cocos2d-x之十六】滚动字幕和公告

滚动字幕和公告是游戏中经常使用到的元素,本文大致写一下实现方法,至于例子中具体的坐标值,请不要纠结。。。这和美工关系还是蛮大的。我PS技术太搓了。。。1.原理其实它们的实现都是简单的通过调用update来更新位置达到的移动效果,和背景滚动有点类似,一旦滚动结束就重置为起点,开始新的滚动。只是为了达到在某个区域内滚动而不至于超出这个区域,有时候会用一些前景图来做遮盖,所以这个...

cocos2d-x滚动字幕滚动公告update

偶尔e网事2013-10-24 08:19 阅读(2894) 评论(3)

[移动开发]【玩转cocos2d-x之十五】关卡选择的设计

这节介绍一下游戏中帮助界面和关卡选择的设计,其实都是一样的,关键在于美工。这里采用自定义TableView层来实现。1.导入头文件和设定空间因为TableView相关的类是在扩展包里面,所以必须先声明[cpp] view plaincopy#include "cocos-ext.h"  USING_NS_CC_EX...

cocos2d-xCCTableView关卡选择数据源滚动

偶尔e网事2013-10-23 09:35 阅读(2891) 评论(16)
0 0