智慧 + 毅力 = 无所不能

正确性、健壮性、可靠性、效率、易用性、可读性、可复用性、兼容性、可移植性...
随笔 - 991, 文章 - 0, 评论 - 27, 阅读 - 341万

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

随笔分类 -  Cocos2d-x 基础

摘要:转自:http://blog.csdn.net/xujiezhige/article/details/8448524#常见的手电筒效果,可以通过CCRenderTexture来实现。主要是通过修改渲染表面的alpha值来达到手电筒光照范围内的透明效果。此方法纯原创,如有雷同,英雄所见略同。这里由于本人没有什么图片,这里直接用矩形区域来代替圆形区域。通过以下几个基本步骤来完成这个效果。首先创建一个全黑的渲染表明覆盖在场景之上。 //create render target CCRenderTexture* pRenderTexture = CCRenderTexture::creat... 阅读全文

posted @ 2013-12-28 17:05 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/jinjian2009/article/details/9449585之前使用过cocos2d-x获取系统时间,毫秒级的long getCurrentTime() { struct timeval tv; gettimeofday(&tv,NULL); return tv.tv_sec * 1000 + tv.tv_usec / 1000; } 或者这样写long getCurrentTime() { struct cc_timeval tv; CCTime::... 阅读全文

posted @ 2013-12-28 17:01 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/wolfking_2009/article/details/11022693#static void ScreenShoot(){ CCSize size = CCDirector::sharedDirector()->getWinSize(); //定义一个屏幕大小的渲染纹理 CCRenderTexture* pScreen = CCRenderTexture::create(size.width,size.height, kCCTexture2DPixelFormat_RGBA8888); //获得当前的场... 阅读全文

posted @ 2013-12-28 16:56 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/cocos2der/article/details/7261808在实现运动中,我们常常需要实现一些加速度或者减速度的效果,cocos2d-x引擎为我们提供了相应的实现接口,这样我们就不用再用原来的公式计算方法来实现加减速度的效果Ease系列的方法改变了运动的速度,但是并没有改变总体时间,如果整个的action持续5秒钟,那么整个的时间仍然会持续5秒钟。这些action可以被分成3类:Inactions:action开始的时候加速Outactions:action结束的时候加速InOutactions:action开始,结束的时候加速第一个参数为 阅读全文

posted @ 2013-09-18 16:47 Bill Yuan 编辑

摘要:转自:http://blog.sina.com.cn/s/blog_67a5e47201018tj8.html在Cocos2d以及Cocos2d-x中,我们经常会用到CCLabelTTF以及CCLabelAtlas在层或精灵中添加文字。其实总共有三个添加文字的类,另外一个是CCLabelBMFont,我用的不怎么多。1. CCLabelTTFCCLabelTTF::labelWithString(const char *label, //文字内容 const CCSize& dimensions, //范围 CCS... 阅读全文

posted @ 2013-08-22 16:40 Bill Yuan 编辑

摘要:转自:http://www.cnblogs.com/dcxing/archive/2013/01/16/2862068.htmlCCTableView在游戏中一般用在背包这样场景或层中,当然也不止这些,在ios开发中UITableView的应用是相当的广泛,当然它们的用途是一样的。(其实你会发现CCtableView其实就是参照UITableView来写的,所以做过ios开发的同学happy了)。既然说到了用到背包的地方,那么我们就做一个简单的背包信息的例子来学习它吧。 先上代码再说 .h文件//// CCTableViewLayer.h// Cocos2dXLearnDemo////#... 阅读全文

posted @ 2013-07-25 15:56 Bill Yuan 编辑

摘要:转自:http://www.cnblogs.com/dcxing/archive/2012/12/31/2840217.htmlScrollView一般用在游戏的关卡选择这种类似的场景还有帮助这种场景之中,当然,也可以用其他一些选择菜单的场景。用途还是比较广泛的嘛。首先CCScrollView 在 Cocosd-x 的扩展库里面,要是使用的话,需要引入扩展包,然后添加命名空间#include "cocos-ext.h"USING_NS_CC_EXT;//cocos2dx定义的宏 然后实现CCScrollViewDelegate,这个其实是和UISCrollView和相似的。 阅读全文

posted @ 2013-07-25 15:51 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/onerain88/article/details/81642101. CCArray只是提供了一个面向对象的封装类其继承于CCObject类(CCObject的存在主要是为了自动管理内存),并提供了一系列接口,包括创建/** Create an array */ static CCArray* create(); /** Create an array with some objects */ static CCArray* create(CCObject* pObject, ...); /** Create an array with... 阅读全文

posted @ 2013-07-17 17:01 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/honghaier/article/details/8068895 当一张图片被加载到内存后,它是以纹理的形式存在的。纹理是什么东西呢?纹理就是一块内存,这块内存中存放的是按照指定的像素格式填充的图片像素信息。它被最终作为三角面着色所依据的数据源。 我们来看一下cocos2d-x中的libcocos2d库,其下有许多目录,找到textures展开,可以看到有CCTexture2D,CCTextureAtlas,CCTextureCache,CCTexturePVR四个类。这四个类的功能分别是: CCTexture2D: 纹理,即图片加载入内... 阅读全文

posted @ 2013-07-17 14:37 Bill Yuan 编辑

摘要:转自:http://www.cocos2dev.com/?p=295前段时间看CCEditBox的时候,发现里面有个利用9宫格图缩放图片的,也就是缩放带圆角的图片。这个比较有用处,很多游戏中有很多不同尺寸的圆角图片作为背景。有了CCScale9Sprite之后,只需要提供一个非常小尺寸的圆角图片就可以自由缩放其他尺寸的圆角图。是个不错的东西。使用方法:1、导入头文件及命名空间#include “cocos-ext.h”USING_NS_CC_EXT;2、初始化代码:CCScale9Sprite* labBg1 = CCScale9Sprite::create(“wd_bg_text.png”) 阅读全文

posted @ 2013-07-17 13:51 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/onerain88/article/details/7641126cocos2d-x 2.0 版更新了,把opengl 1.1 替换为opengl 2.0,这个版本只能在iphone 3gs,android 2.2 以上版本才能跑,并且android的模拟器也不支持!这次更新终于更新了几个UI控件,比如Button,Slider,ListView(本来打算自己写个ListView的,这下省事了,看到注释,这里要感谢网龙公司了,当然,还要感谢cocos2d-x的整合)。但是这个tests中没有加入对ListView的使用教程,只有在CCTextur 阅读全文

posted @ 2013-07-17 13:46 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/onerain88/article/details/7775569cocos2d-x 2.0版本之后提供了许多控件,其中就包括ScrollView,之前总结过一个简单的ScrollView,但是问题很多,比如必须是全屏,不能是一块区域,而cocos2d-x 2.0中提供的CCScrollView中,是可以设定区域的,CCScrollView做了区域的裁剪glScissor((GLint)screenPos.x, (GLint)screenPos.y, (GLsizei)(m_tViewSize.width*s), (GLsizei)(m_tVie 阅读全文

posted @ 2013-07-17 13:40 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/zhy_cheng/article/details/8480048图形绘制的话,在cocos2d-x自带的TestCpp里有,包括绘制点,直线,多边形(填充的和没有填充的),圆,贝赛尔曲线。首先在HelloWorld类中重写父类的draw方法virtual void draw(); 在源文件中将init中的类容删去,应为init方法比draw先执行,会覆盖我们画出的效果。删除之后,init方法如下bool HelloWorld::init(){ bool bRet = false; do { CC_BREAK_... 阅读全文

posted @ 2013-07-17 13:22 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/zhy_cheng/article/details/9116479cocos2d-x引擎在内部实现了一个庞大的主循环,每帧之间更新界面,如果耗时的操作放到了主线程中,游戏的界面就会卡,这是不能容忍的,游戏最基本的条件就是流畅性,这就是为什么游戏开发选择C++的原因。另外现在双核手机和四核手机越来越普遍了,是时候使用多线程来挖掘硬件的潜力了。1.环境搭建cocos2d-x中的多线程使用pthread就可以实现跨平台,而且也不是很难理解。使用pthread需要先配置一下工程。右击工程----->属性----->配置属性---->链接 阅读全文

posted @ 2013-07-17 13:16 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/hgplan/article/details/8629904在cocos2d-x中可以用.plist格式的文件来保存数据,它是XML文件格式的一种,在cocos2d-x解析.plist方面相关的资料比较少,但本身也很简单,要解析.plist文件可以参考cocos2d-x类库中的CCSpriteFrameCache类和CCParticleSystem类,它主要是使用CCDictionary类来对.plist文件进行操作。下面有一个.plist文件: level1 bg_far_scene ... 阅读全文

posted @ 2013-07-16 15:06 Bill Yuan 编辑

摘要:转自: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 编辑

摘要:转自:http://cjhworld.blog.163.com/blog/static/207078036201331510141222/数学函数:ccp(x, y); // 以坐标x,y创建一个向量ccpFromSize(s); // 以size s的width为x,height为y创建一个向量 CCPoint的加减乘除运算运算ccpAdd(v1, v2); // 等价 ccp(v1.x+v2.x, v1.y+v2.y);ccpSub(v1, v2); // 等价 ccp(v1.x-v2.x, v1.y-v2.y);ccpNeg(v) // 等价 ccp(-v.x, -v.y);ccpMul 阅读全文

posted @ 2013-07-12 17:49 Bill Yuan 编辑

摘要:转自:http://shanbei.info/the-cocos2d-scene-conversion-method-execution-order.html如果你希望在场景转换的过程中使用过渡效果的话,你可能想 先暂停某些动画或者隐藏一些用户界面元素,直到过渡效果结束。这就需要所 有的节点都存在于当前的场景中。以下来自从FirstScene过度到OtherScene的日志信息 显示了上述三个方法的调用次序:1. scene: OtherScene2. init:3. onEnter:4. // 这里运行了过渡效果5. onExit:6. onEnterTransitionDidFinish: 阅读全文

posted @ 2013-07-11 10:25 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/qq51931373/article/details/91522271.纹理控制。 看此代码:CCSprite *pSprite = CCSprite::create("ship.png");ccTexParams params = {GL_NEAREST,GL_NEAREST,GL_CLAMP_TO_EDGE, GL_CLAMP_TO_EDGE};pSprite->getTexture()->setTexParameters(&params);上面最重要的函数就是setTexParameters();他就 阅读全文

posted @ 2013-07-11 09:42 Bill Yuan 编辑

摘要:转自:http://blog.csdn.net/yanghuiliu/article/details/6912612正在做项目中有很多游戏数据要保存,常见的玩家数据这些比较简单的可以用CCUserDefault。它是cocos2d-x用来存取基本数据类型用的。保存为XML文件格式。主要方法:(和java的map很像,键值对,应该很容易懂的)void setBoolForKey(const char* pKey, bool value);void setIntegerForKey(const char* pKey, int value);void setFloatForKey(... 阅读全文

posted @ 2013-07-10 21:15 Bill Yuan 编辑

点击右上角即可分享
微信分享提示