随笔分类 - Cocos2d-x
摘要:cocos2dx 2.x实现闪电效果(非画线版)在网上搜索到一个直接用opengl画线实现的版本,但放在游戏中效果不太搭,要求用贴图的。我这个版本用的也是画线版的算法。闪动的时候效果还可以,每段衔接的地方还是不太完美,各位有其他的建议的请联系我 blue-1986@hotmail.com转载请注明出...
阅读全文
摘要:修改的版本是cocos2dx.2.21.在neon_matrix_impl.c中修改#if defined(__ARM_NEON__)为 #if defined(_ARM_ARCH_7)2.在mat4.c中修改#if defined(__ARM_NEON__)为 #if defined(_ARM_A...
阅读全文
摘要:一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp)程序员的生活要一切自动化,更要幸福^_^。转载请注明出处http://www.cnblogs.com/mrblue/p/3885043.html感谢小波同学概述平台:ma...
阅读全文
摘要:以前要导出c++类到lua,就得手动维护pkg文件,那简直就是噩梦,3.0以后就会感觉生活很轻松了。转载请注明出处http://www.cnblogs.com/mrblue/p/3637910.html下面我就在说下具体做法。1、安装必要的库和工具包,以及配置相关环境变量,请按照cocos2d-x-3.0rc0\tools\tolua\README.mdown说得去做,不做赘述。2、写c++类(我测试用的是cocos2d-x-3.0rc0\tests\lua-empty-test\project\Classes\HelloWorldScene.cpp)3、写一个生成的python脚本,你不会写
阅读全文
摘要://WidgetSlideListView.hclass WidgetEaseInListView : public cocos2d::gui::UIListView{public: static WidgetEaseInListView* create(cocos2d::gui::UIListView* pAnthor=NULL); void doEaseIn(bool bRight2Left=true);protected: virtual void copySpecialProperties(cocos2d::gui::Widget* model);protected: virtual
阅读全文
摘要:效果图//ShadowLayer.hclass ShadowLayer : public CCLayer{protected: ShadowLayer() :m_pRender(NULL) ,m_pShadow(NULL) {} ~ShadowLayer() { CC_SAFE_RELEASE(m_pRender); CC_SAFE_RELEASE(m_pShadow); }public: static ShadowLayer* create(CCNode* pRender,const CCPoint& ptOffse...
阅读全文
摘要:昨天吃饭看见同事演示他做的翻牌效果,感觉不错,我心血来潮也来搞个,很简单直接上代码。class FlipCard : public CCNode{public: CREATE_FUNC(FlipCard); virtual bool init() { if (CCNode::init()) { m_pFront = CCNode::create(); m_pBack =CCNode::create(); m_pBack->setVisible(false); a...
阅读全文
摘要:转自http://blog.csdn.net/langresser_king/article/details/8426708(未完成)1、2d游戏最占内存的无疑是图片资源。2、cocos2d-x不同平台读取纹理的机制不同。ios下面使用CGImage,android和windows下是直接调用png库。我测试了下,使用png库直接读取png会比CGImage还要节约1mb左右内存(图片所占内存4mb)但是速度要比CGImage慢一倍。时间和空间如何取舍就看实际情况了。不过最佳的选择似乎是pvr(即使android版本,即使不使用pvrtc4)。3、一般来说,我们可以直接使用 w * h * b
阅读全文
摘要:转载http://zhidao.baidu.com/link?url=JTUKP5quGfMQixLZSvtC2XlKMkQDyQbYW72_DRyD6KDRpkLs8_6poQtKkwsyqzU8q5jP3wLDd01kWYJc7oc4jK由于一些特定的原因,程序并没有使用plist方式打包资源,而现在使用的是零散的小图片。在运行时,发现会出现某些图片显示模糊的情况。找到的原因如下:纹理在初始化的时候默认调用了setAntiAliasTexParameters接口,而该接口设置GL_TEXTURE_MIN_FILTER和GL_TEXTURE_MAG_FILTER为GL_LINEAR。而使用G
阅读全文
摘要:先看下效果制造这个椭圆高亮区域所使用原图是附上代码bool HelloWorld::init(){ ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); CCPoint origin = CCDirector::sharedDirector()->getVis...
阅读全文
摘要:最近发现一个有趣的东西:visual studio的项目属性表我下载了cocos2d-x-3.0alpha1,然后发现HelloLua项目配置里没有配include搜索目录和依赖库以及一个Marco $(EngineRoot),但是编译的时候居然不报错。经查找发现在cocos/2d目录下多了两个文件cocos2d_headers.props和cocos2dx.props。这俩文件的目的就是把搜索目录和依赖库这种事情事先配置好,然后需要依赖这个库(libcocos2d)的项目只需要添加这两个项目属性表就可以了,然后就会感觉生活轻松很愉快。打开属性管理器 VIEW->Property Man
阅读全文
摘要:下面分2点来说:1、时间消耗点:io和现场解析解决方案:加载过的骨骼动画就不要每次重新加载,不要每次都去加载json文件和atlas,我推荐使用static CCSkeletonAnimation* createWithData (SkeletonData* skeletonData)这就需要你把解析SkeletonData数据保存起来。static CCSkeletonAnimation* createWithFile (const char* skeletonDataFile, Atlas* atlas, float scale = 1);这个方法又要加载文件又要现场解析atlas和jso
阅读全文
摘要:首先感谢下ZeroBrane Studio。这里拿cocos2dx/samples/Lua/HelloLua做例子来说明,其他的都是同样道理。1、下载调试Lua所需的IDE,地址在这。有经济实力的请支持这个他们这款牛逼的开源软件。然后解压(我的目录是C:\Users\bailu\Desktop\ZeroBraneStudioEduPack-0.39-win32)。2、开启调试服务器:运行zbstudio.exe->Project->Start Debug Server。如果你这是灰的说明已经开启了3、选择项目目录:Project->Project Directory->
阅读全文
摘要:我用的是一个万能转换法,原理是先用CCSprite加载.pvr.ccz,然后把它绘制到一个CCRenderTexture上,然后再保存到文件里。这方法其实不只.pvr.ccz文件,其他所有能被cocos2dx直接加载的文件都可以用这种转换。有个弊端就是可能跟源文件数据稍有些差异(我这个就是看起来有点...
阅读全文
摘要:直接上代码bool HelloWorld::init(){ ////////////////////////////// // 1. super init first if ( !Layer::init() ) { return false; } HttpRequest* request = new HttpRequest(); request->setUrl("http://neoimaging.beareyes.com.cn/png2/ni_png_2_1518.png"); request->setRequestType(Ht...
阅读全文
摘要:目的是要把粒子挂载到骨骼动画的某个一个部件上,其实最主要是找对位置。预览效果,左手红火,右手蓝火,很炫吧:)//initbool HelloWorld::init(){ ////////////////////////////// // 1. super init first if ( !Layer::init() ) { return false; } CCSkeletonAnimation* skeletonNode = CCSkeletonAnimation::createWithFile("spineboy.json", "spineb...
阅读全文
摘要:cocos2dx3.0+vs2012编译通过。主要是通过body->SetTransform来设置body的位置和角度,然后自己写个ContactListener来监听碰撞事件源代码下载#include "HelloWorldScene.h"#include "VisibleRect.h"#include "GLES-Render.h"#include "cocos-ext.h"USING_NS_CC;USING_NS_CC_EXT;#define PTM_RATIO 32Scene* HelloWorld:
阅读全文
摘要:1: 运行程序,单击鼠标左键点亮相应位置的字母,比如:0、1、2、/ 等2: 选择 Edit->Open Image Manager。弹出一个“Image Manager" 对话框3: 点击Image->import Image.在弹出的对话框中选择对应的图片路径4: 然后指定对应的id。此id就是要替换的字符的标识。可以将鼠标悬停在对应的格子上,右下角的“48:30"中的第一项即是Id号5: 设定x,y的偏移量(看需求)6: 点ok并逐一添加相应的字体7: 点击Option->Export options,在弹出的对话框中选择 Bit depth:32;
阅读全文
摘要:// 矩形和圆形碰撞检测bool IsCirlceCollisionRect(float circleXPos, float circleYPos, float radius, float rectX, float rectY, float rectW, float rectH){ float arcR = radius; float arcOx = circleXPos; float arcOy = circleYPos; //分别判断矩形4个顶点与圆心的距离是否= rectY && arcOy rectX + rectW) minDi...
阅读全文
摘要://Opacity 0完全透明 255完全不透明//ALPHA 0完全透明 1完全不透明CCRenderTexture* pRT = CCRenderTexture::create(480,320);pRT->setPosition(Point(480,320));addChild(pRT,1);CCSprite* pSpr1 = CCSprite::create("1.png");pSpr1->setAnchorPoint(CCPoint::ZERO);ccBlendFunc blend;blend.src = GL_ONE;blend.dst = GL_ZE
阅读全文