智慧 + 毅力 = 无所不能

正确性、健壮性、可靠性、效率、易用性、可读性、可复用性、兼容性、可移植性...

导航

2013年7月15日

摘要: 转自:http://www.cnblogs.com/jisi5789/p/3190353.html回顾前面的文章,实现了一个简单工厂模式来创建不同类对象,但由于c++没有类似new "Circle"之类的语法,导致CreateShape 函数中需要不断地ifelse地去判断,如果有多个不同类对象需要创建,显然这是很费神的,下面通过宏定义注册的方法来实现动态创建对象。Shape.h:#ifndef _SHAPE_H_ #define _SHAPE_H_ class Shape { public: virtual void Draw() = 0; virtual ~Shap.. 阅读全文

posted @ 2013-07-15 20:47 Bill Yuan 阅读(7243) 评论(0) 推荐(1) 编辑

摘要: 转自:http://blog.csdn.net/yang3wei/article/details/7795764最近的项目要求动态光晕的效果。何谓动态光晕?之前不知道别人怎么称呼这个效果,不过在我看来,“动态光晕”这个名儿起的还是蛮不错的。动态光晕就是在背景图片的上面蒙上一层光照。。。但是这个光照比较特别,他能够变换颜色,变换光圈的半径大小,从而制造出类似梦幻迷离的效果~新项目中我是负责游戏特效这一块的,操作过程中我觉得这东西蛮不错的,很有感觉。之前的项目中我是负责整个游戏场景的编码实现的,因为较为复杂的游戏逻辑,所以我做的很蛋痛~伙计做的是菜单场景以及所有游戏的图片,那时候我便觉得,其实做美 阅读全文

posted @ 2013-07-15 19:38 Bill Yuan 阅读(964) 评论(0) 推荐(0) 编辑

摘要: 转自:http://blog.csdn.net/qiurisuixiang/article/details/87795401在CSDN上看到某同学实现的Dota技能冷却效果,自己平时也玩Dota,也很好奇技能冷却的效果是怎么实现的,所以就尝试着实现了下2其实技能CD的原理很简单:准备两张图片,一张明一张暗,将暗的图片放在地下,明的图片放在上面(注意:两张图片大小一致,明的图片完全覆盖暗的图片),然后主要是对上面明的图片进行进度操作3知道了原来,实现起来就很简单了,下面附上关键代码CCSprite *coolSprite = CCSprite::create("cool.png&quo 阅读全文

posted @ 2013-07-15 18:51 Bill Yuan 阅读(1280) 评论(0) 推荐(0) 编辑

摘要: 转自:http://www.cnblogs.com/jiackyan/archive/2013/04/14/3019880.html1、先说下渲染批次:这是游戏引擎中一个比较重要的优化指标,指的是一次渲染凋用。也就是说,渲染的次数越少,游戏的运行效率越高。2、CCSpriteBatchNode就是cocos2d-x为了降低渲染批次而建立的一个专门管理精灵的类。CCSpriteBatchNode* batchNode = CCSpriteBatchNode::create("Icon.png", 1000); batchNode->setPosition(CCPoint 阅读全文

posted @ 2013-07-15 18:43 Bill Yuan 阅读(1172) 评论(0) 推荐(0) 编辑

摘要: 转自:http://www.cnblogs.com/jiackyan/archive/2013/04/14/3019893.html//重载virtual bool ccTouchBegan(CCTouch *touch, CCEvent *pEvent);virtual void ccTouchMoved(CCTouch *touch, CCEvent *pEvent);virtual void ccTouchEnded(CCTouch *touch, CCEvent *pEvent);virtual void onEnter();virtual void onExit(); //添加支持触 阅读全文

posted @ 2013-07-15 18:38 Bill Yuan 阅读(2573) 评论(0) 推荐(0) 编辑

摘要: 转自:http://www.himigame.com/iphone-cocos2dx/743.htmlCocos2dx系列博文的上一篇详细介绍了如何在Xcode中利用jni调用Android的Java层代码,还没有看过的童鞋,请移步到如下博文:【iOS-cocos2d-X 游戏开发之十三】详细讲解在Xcode中利用预编译并通过Jni调用Android的Java层代码(cocos2dx里访问调用Android函数)!本篇继续介绍另外一个在Cocos2dx中必经之路:在Cocos2dx中调用苹果Api以实现后期iOS的GameCenter和iap的相关操作,那么Himi这里就跟大家简单分享探讨下; 阅读全文

posted @ 2013-07-15 18:22 Bill Yuan 阅读(10272) 评论(0) 推荐(0) 编辑

摘要: 转自:http://www.cnblogs.com/lancidie/archive/2013/04/08/3007566.html一、xcode4中的环境变量$(BUILT_PRODUCTS_DIR)build成功后的,最终产品路径--可以在Build Settings参数的Per-configuration Build Products Path项里设置$(TARGET_NAME)目标工程名称$(SRCROOT)工程文件(比如Nuno.xcodeproj)的路径$(CURRENT_PROJECT_VERSION)当前工程版本号其他:当编译静态库,设备选模拟器(iPhone 5.0 Simu 阅读全文

posted @ 2013-07-15 18:20 Bill Yuan 阅读(476) 评论(0) 推荐(0) 编辑

摘要: 转自:http://www.cnblogs.com/lancidie/archive/2013/04/13/3019375.html1、不是一个完整的模块,所以不提供完整代码,只提供思路和核心代码。 思路很简单,给每个纹理维护一个生命周期和上次渲染时间,每次渲染的时候更新这个渲染时间,CCTextureCache中每隔一定时间(15秒)遍历一下当前纹理集合,如果发现有纹理超过生命周期指定时间没有渲染,则释放此纹理。 CCTexture2D中的getName函数就是很好的更新渲染时间以及释放纹理重新加载的入口。 因为CCTexture2D要提供重新加载图片的机制,所以最好提供一个initWith 阅读全文

posted @ 2013-07-15 17:51 Bill Yuan 阅读(547) 评论(0) 推荐(0) 编辑

摘要: 转自:http://www.cnblogs.com/lancidie/archive/2013/04/01/2993890.html我们常常需要判断用户的点击操作是否落于某个sprite之上,进而让这个sprite做出响应。但是如果我们通过继承CCSprite类来实现自己的Sprite类的时候,产生的视图尺寸会充满屏幕。多个Sprite在同一层的时候会发生重叠,导致我们通过回调函数传递进的touch点是相对于最上层Sprite来说的。好在我们可以通过CCDirector::sharedDirector()->convertToGL(CCTouch* touch->locationI 阅读全文

posted @ 2013-07-15 17:50 Bill Yuan 阅读(1811) 评论(0) 推荐(0) 编辑

摘要: 转自:http://www.cnblogs.com/fox7nights/archive/2013/02/21/2920640.html一。调用代码CCNode* GameOverScene::loadCCBI(const char * pCCBFileName, const char * pCCNodeName, CCNodeLoader * pCCNodeLoader){ CCNodeLoaderLibrary * ccNodeLoaderLibrary = CCNodeLoaderLibrary::newDefaultCCNodeLoaderLibrary(); if... 阅读全文

posted @ 2013-07-15 17:44 Bill Yuan 阅读(847) 评论(0) 推荐(0) 编辑

摘要: 转自:http://www.cnblogs.com/fjut/archive/2012/04/28/2475693.html//ccTouchBegan必须实现,否则会报错bool PicScan::ccTouchBegan(CCTouch* pTouch, CCEvent* event){ return true;} void PicScan::ccTouchMoved(CCTouch *touch, CCEvent *event){ //获得触摸点初始坐标 CCPoint beginLoc = touch->locationInView(touch->view()); ... 阅读全文

posted @ 2013-07-15 17:44 Bill Yuan 阅读(876) 评论(0) 推荐(0) 编辑

摘要: 转自:http://www.2cto.com/kf/201307/227142.html 既然选择了C++作为游戏开发的语言, 手动的管理内存是难以避免的, 而Cocos2d-x的仿Objctive-C的内存管理方式, 事实上让问题变得更加复杂(仅仅是移植更加方便了), 因为你需要很好的掌握两种语言的内存管理方式, 并且在使用时头脑清晰, 不能混用, 不然等待你的就是无穷的噩梦, 因为引用计数的原因, 问题比起纯粹的C++内存泄漏还要难以定位的多. 这里统一的整理一下目前在Cocos2d-x中的内存管理相关的方法和问题. 为了让思路更加清晰, 我提及的不仅仅是具体在Cocos2d-x中怎么.. 阅读全文

posted @ 2013-07-15 17:36 Bill Yuan 阅读(2194) 评论(0) 推荐(0) 编辑

摘要: 转自:http://www.2cto.com/kf/201207/144656.html 蒙板,局部高亮可点的用处大多是在新手引导的时候,引导玩家一步一步的走游戏的操作流程。 之前写了一个cocos2d-iphone的版本,因为设置成圆角的,比较美观,如果不用圆角,可以直接把Sprite改成layercolor,这个版本的缺点是每步都需要美术出一个资源(如果每步的点击区域大小不一样的话),现在这个版本是直接设置大小即可。 这个版本的设计思路是,用layercolor,先把高亮的区域设置好了,然后在layercolor的四个角加上一个小圆角的sprite,这样就不用每步都需要美术出资源了。... 阅读全文

posted @ 2013-07-15 17:04 Bill Yuan 阅读(1866) 评论(0) 推荐(0) 编辑

摘要: 转自:http://www.cocos2dev.com/?p=281注:自己以前也写过cocos2d-x如何优化内存的使用,以及内存不足的情况下怎么处理游戏。今天在微博中看到有朋友介绍了下内存,挺详细的。不知道是谁写的,我记录下。一,IOS与图片内存在IOS上,图片会被自动缩放到2的N次方大小。比如一张1024*1025的图片,占用的内存与一张1024*2048的图片是一致的。图片占用内存大小的计算的公式是;长*宽*4。这样一张512*512 占用的内存就是 512*512*4 = 1M。其他尺寸以此类推。(ps:IOS上支持的最大尺寸为2048*2048)。二,cocos2d-x 的图片缓存 阅读全文

posted @ 2013-07-15 16:53 Bill Yuan 阅读(503) 评论(0) 推荐(0) 编辑

摘要: 转自:http://blog.csdn.net/enotswn/article/details/5934938考虑可能的原因:[0]出现无法解析可能是因为lib文件不正确,比如64位的编译配置,结果使用的是32位的lib包.[1]只写了类声明,但还没有写实现类,造成调用时无法解析[2]声明和定义没有统一,造成链接不一致,无法解析[3]没有在项目属性页的链接器的命令行选项加入相应的类包。[4]没有在c++包含目录和库目录加入相应的类包路径[5]在测试工程中被测文件目录可能需要包含被测类的cpp定义文件[6]ICE接口测试时,无法解析可能因为被测文件没有包含进相关的cpp文件,另外,在TestSu 阅读全文

posted @ 2013-07-15 11:17 Bill Yuan 阅读(5682) 评论(0) 推荐(0) 编辑