cocos2d-x
文章平均质量分 53
SEEKERDZJ
这个作者很懒,什么都没留下…
展开
-
js类机制的简易实现
// -- @Author: Dongzhejia// -- @Date: 2018年04月16日// -- @des:js 类的简易实现function jsClass (parent) { if (parent&&typeof(parent)!="function") { throw new Error("parent tyoe error need functi...原创 2018-04-16 18:54:34 · 200 阅读 · 0 评论 -
Cocos2d-x Label 试用浅析
1 CCLabelProtocol是文本标签的父类,CCLabelProtocol有三个直接子类,都是cocos2d-x中用来创建文本标签的,下面是类结构图 2 CCLabelTTF不仅是CCLabelProtocol的子类,其实也是CCSprite的子类,CCLabelTTF是用来渲染文本标签的,可以指定字体,每次设置字符串内容时,都需要重新创建纹理和渲染,性能不好,所以转载 2014-04-28 17:14:24 · 526 阅读 · 0 评论 -
Sublime Text
所谓磨刀不误砍柴工,找到一个好的编辑器会让代码编写更加流畅找了很多编辑器,最终找到真爱 sublime text这玩意可以说是,你想它低调他就能低调,你想它大气就能大气。支持很多扩展、插件、自定义,可定制性非常高。对于cocos2d-x的自动补全,可以使用cocos2d_lua_snippets这个插件使用很简单,从git上下载所有文件,然后打开sublime text转载 2014-07-16 13:45:01 · 533 阅读 · 0 评论 -
cocos2d-x常用函数和宏
最近我们的cocos2d-x游戏项目已经进入了正式开发的阶段了,几个dev都辛苦码代码。cocos2d-x还是一套比较方便的api的,什么action啊、director啊、ccpoint啊都蛮便捷的。但是我看到几个dev有时候会很不知道用它们,还是首先自己去写函数……用一些比较原始、低效率的方法……甚至是copy / paste………………。……。这不科学转载 2014-06-29 11:49:26 · 577 阅读 · 1 评论 -
lua常用数学库
lua_getallocflua_Alloc lua_getallocf (lua_State *L, void **ud);返回给定状态机的内存分配器函数。如果 ud 不是 NULL ,Lua 把调用lua_newstate 时传入的那个指针放入*ud 。lua_getfenvvoid lua_getfenv (lua_State *L, int index);把索引处值转载 2014-06-29 12:12:51 · 619 阅读 · 0 评论 -
lua常用库函数
lua常用库函数table一部分的table函数只对其数组部分产生影响, 而另一部分则对整个table均产生影响. 下面会分开说明.table.concat(table, sep, start, end)concat 是concatenate(连锁, 连接)的缩写. table.concat()函数列出参数中指定table的数组部分从start位置到e转载 2014-06-29 12:20:03 · 803 阅读 · 0 评论 -
Cocos2d-x3.0 lua绑定C++类
这里记录下我实现Lua绑定的全过程。原文地址:http://blog.csdn.net/qqmcy/article/details/26099859准备工作:1、创一个一个Lua的2dx工程。(这个网上已经有好多了)2、创一个C++类。TestScene.h 这个只是一个简单的场景[cpp] view plaincopyprint?//转载 2014-07-01 01:20:39 · 486 阅读 · 0 评论 -
CocoStudio sample讲解 SampleChangeEquip 换装系统
换装系统是游戏里面可以提升游戏内容的部分, 就像电影里面女猪脚总是不停地上换一套一套漂亮的衣服. 我们在做游戏的时候, 就没有拍电影那么潇洒了, 要费好大力气才能实现换装. 现在CocoStudio提供了超酷的换装系统, 分分秒秒实现换装, 让我们游戏的主角也可以像电影女猪脚那样不停地换上漂亮, 酷帅的衣服装备了. 下面就让我们看看如何实现吧! 一 目标 在本教程里,转载 2014-07-14 18:11:54 · 1125 阅读 · 0 评论 -
cocos2d-x 重力感应
本文没你想象的那么,,复杂。其实就是通过重力感应控制个小球移动而已。先看头文件:[cpp] view plaincopy#ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" USING_NS_CC; class HelloWorld : p转载 2014-04-28 15:47:29 · 907 阅读 · 0 评论 -
Cocos2dx 常用函数和宏定义
觉得这篇文章写的挺好的,不管的内容还是文笔都不错,推荐给大家最近我们的cocos2d-x游戏项目已经进入了正式开发的阶段了,几个dev都辛苦码 代码。cocos2d-x还是一套比较方便的api的,什么action啊、director啊、ccpoint啊都蛮便捷的。但是我看到几个dev有时 候会很不知道用它们,还是首先自己去写函数……用一些比较原始、低效率的方法……甚转载 2014-04-28 17:35:35 · 494 阅读 · 0 评论 -
Cocos2dx 3.0 过渡篇(二) 事件回调
尊重原创,转载请注明来自:star特530的CSDN博客 http://blog.csdn.net/start530/article/details/182166793.0 后的事件回调函数接口都不一样了,例如按钮的menu_selector(),update的 schedule_selector等,都已成明日黄花。而新的回调接口,则由四个CC_CALLBACK取代。下面先举例一些转载 2014-04-28 17:18:45 · 438 阅读 · 0 评论 -
Cocos2dx 3.0 过渡篇(七)EditBox和ControlSlider不得不说的故事
这次就写个输入框和拖动条的结合使用吧。也就是在EditBox中输入数值后,ControlSlider的状态会发生改变;拖动ControlSlider后,EditBox的数值也会发生改变。过程如下:1、 添加EditBox和ControlSlider到场景中;2、 当EditBox的数值发生改变时,改变ControlSlider的状态;3、 当ControlSlider的状态发生转载 2014-04-28 17:37:10 · 554 阅读 · 0 评论 -
cocos2d-x ScrollView(上)
scrollView 的调用问题困扰我很久,昨天才有时间继续研究这个,可惜最后还是没能完全解决它存在的问题。。。看头文件:[cpp] view plaincopy#ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" #include转载 2014-04-28 15:49:30 · 532 阅读 · 0 评论 -
scrollView(下)
这篇继续写scroll,不过这次不是用scrollView这个控件,而是自己编写一段代码实现拖动图片。假想有一张很大的地图,然后屏幕只能显示它的一角,这时候就要通过拖动来查看其他部分。本来是要用scrollView实现这个功能,可用起来始终那么别扭,这不,上午一气之下自己搞了个可以拖动图片的代码。一、首先在init中添加自己要实现拖动到图片。[cpp] view pla转载 2014-04-28 15:51:13 · 453 阅读 · 0 评论 -
Cocos2d-x 内存管理
一、内存管理机制 Cocos2d-x是一套基于C++的引擎,C++的内存机制,如果采用new关键字声明一个对象而没有手动delete掉,那么申请的内存就不会被回收,进而造成内存泄露。cocos2d-x是采用引用计数的方式管理内存,基本的原则就是当构造一个对象时,引用计数为1,每次进行retain操作的时候,引用计数加1,每次进行release操作的时候,引用计数减1,当一个对象的引用计数为0时转载 2014-04-28 17:10:09 · 405 阅读 · 0 评论 -
Cocos2d-x 场景切换深入篇
接着上一次的场景切换1,要补充一些内容如果Last对应的回调函数是这样写的void MyScene::LastSceneCallback(CCObject* pSender) { //CCScene* scene =new MyScene(); //CCLayer* pLayer = new LayerPanda(); //scene->addChild(pL转载 2014-04-28 17:11:15 · 396 阅读 · 0 评论 -
Cocos2dx 3.0 过渡篇(六)中文显示的一种解决办法
[cpp] auto m_label = LabelTTF::create("新年快乐!","Arial",25); m_label->setPosition(Point(100,100)); this->addChild(m_label); 调试时发现m_label显示的是一串匪夷所思的乱码,这就说明模拟器并不支持中文的显示方式(其实我发现自己很多词句的描述方式不够转载 2014-04-28 17:33:19 · 451 阅读 · 0 评论 -
Cocos2dx 3.0 过渡篇(五) 随机数的获取
1、简单的随机数用法:CCRANDOM_0_1 示例如下:[cpp]int HelloWorld::getRand(int start,int end) { float i = CCRANDOM_0_1()*(end-start+1)+start; //产生一个从start到end间的随机数 return (int)i; }转载 2014-04-28 17:27:28 · 465 阅读 · 0 评论 -
cocos2dx 图片变灰及正常显示实现(lua可以调用)
图片变灰, 采用shader就可以实现, 有2中方法, 1, 像CCSprite一样create2. 把CCSprite传进来, 并把图片要不要变灰的flag传进来, 具体实现看代码和后面的使用方法-----------------------------------------GraySprite.h//// GraySprite.h// godde转载 2014-10-12 23:57:27 · 2101 阅读 · 0 评论 -
内存优化
在游戏项目优化中都会碰到一个问题,如何既能减少内存又能尽量减少包的大小?在实际项目中有些经验分享一下,事实上2D游戏中最占内存的就是图片资源,一张图片使用不同的纹理格式带来的性能差异巨大,下表是我在IOS平台一个小Demo中的测试结果,该Demo的原始内存占用是7M,测试方法是一次性加载5张2048*2048的图片,使用TexturePacker工具生成图片,内存统计使用Instrument工具,转载 2014-10-13 00:21:14 · 500 阅读 · 0 评论 -
CCActionEase(2)
本文函数图像使用GeoGebra绘制,感谢它才华横溢的作者。相比之前的速度正弦变化动作(这个东西叫什么更好一些?渐变动画?)与速度指数级变化动作,CCEaseIn/CCEaseOut/CCEaseInOut更具灵活性。你可以设置运动的速率,甚至是在运动的过程中改变速率。它们拥有共同的基类——CCEaseRateAction。不要直接使用CCEaseRateAction,因为它没有实现任何变化效转载 2015-11-27 15:41:26 · 463 阅读 · 0 评论 -
CCActionEase(4)
本文函数图像使用GeoGebra绘制,感谢它才华横溢的作者。在上一篇中我们介绍了两种反弹效果动作——Ease Back和Ease Bounce,今天我们将要介绍第三种反弹效果动作——Ease Elastic。那么这个Elastic是什么呢?维基百科上说,Elastic是对弹性体或者可伸缩纤维的口语说法,或者是指小孩子玩的跳皮筋游戏。下面我们就研究一下这个Elasti转载 2015-11-27 15:44:47 · 397 阅读 · 0 评论 -
CCActionEase(1)
本文函数图像使用GeoGebra绘制,感谢它才华横溢的作者。为了方便用户灵活地控制精灵运动,cocos2d-x提供了CCActionEase类系的动作。它们拥有相似的名字——CCEaseXxxxIn、CCEaseXxxxOut、CCEaseXxxxInOut,同时也拥有相似的行为——速度由慢至快、速度由快至慢、速度先由慢至快再由快至慢。但是除了这些,我们对CCActionEase一无所知。转载 2015-11-27 15:39:39 · 468 阅读 · 0 评论 -
开发者必备:六大图片、图标处理类工具
1. SlicySlicy是MacRabbit公司的跨世纪经典之作,可谓是iOS设计师必备一款的切图神器,旨在帮助设计师解决在切图上的烦恼。Slicy操作十分简单,设计师只要把PSD文件拖进Slicy的窗口,Slicy就会自动生成.jpg和.png等格式的切图文件,除此之外,Slicy还能够把普通像素的图片转换成视网膜像素的高品质图片。 主要特性:转载 2015-12-25 10:51:32 · 1893 阅读 · 0 评论 -
Lua内存泄露检测原理
lua内存泄露首先第一点,lua中的内存泄露和我们所说的c/c++中的内存泄露本质上是不一样的。lua中有垃圾回收机制(GC),所以理论上是不会有内存泄露的。当它进行GC的时候,会从根部开始扫描所有的对象,如果某个地方对这个对象还有引用,就不会把这个对象内存collect,这个对象就没有被GC。所以lua中的内存泄露是指那些:已经没有被使用了,但外部依然还有引用存在的对象。转载 2016-05-21 17:33:56 · 1057 阅读 · 0 评论 -
js字符串加密
var key = "bde26f760ddb000f0a569e9bc39b9017060647e0"function encodeAndDecode(str){var keyIndex = 0var codeStr = ""for (var i = 0; i codeStr += String.fromCharCode(str.charCodeAt(i) ^ key.cha原创 2017-08-26 16:51:22 · 753 阅读 · 0 评论 -
js类的实现
//// JSB supports 2 official ways to create subclasses//// 1) Google "subclasses" borrowed from closure library// This is the recommended way to do it//cc.inherits = function (childCtor, p转载 2017-11-01 16:43:28 · 330 阅读 · 0 评论 -
简单的js胡牌算法
function tryHu(cards){var resArray = []var cds = cards.slice(0)cds.sort(function(a,b){return a-b})var haveJiang = falsevar recursion = function(){if(cds.length==0){return true}consol原创 2017-10-26 22:02:37 · 782 阅读 · 0 评论 -
CCActionEase(3)
本文函数图像使用GeoGebra绘制,感谢它才华横溢的作者。我们前面介绍的动作主要是用来改变内部动作的执行速度,接下来要介绍的这几个动作主要是用来增加表现效果的,可以看作是简单的特效。10)CCEaseBackIn1 void CCEaseBackIn::update(ccTime time)2 {3 ccTime overshoot = 1.70158f;4 m_转载 2015-11-27 15:42:57 · 358 阅读 · 0 评论 -
lua时间函数
一、时间的三种格式1、用数值表示时间值 用数字值来表示时间值,实际上时间值的本质就是一个数字值。例如:d = 1131286477 这里的 1131286477 是一个以秒为单位的 格林威志时间(gmt),注意不同时区的时差2、用字符串表示时间 用字符串来来表示时间。例如:d = "2005-11-06 22:18:30"转载 2015-11-19 12:44:31 · 750 阅读 · 0 评论 -
coco2d-x 纹理研究
1.通常情况下用PVR格式的文件来进行图片显示的时候,在运行速度和内存消耗方面都要比PNG格式要快和小。一般情况下PVR消耗的内存比PNG消耗的内存小25%左右。PVR格式可以用ZWoptex导出。PVR是apple芯片能直接读取和显示的文件. 2.图片抗锯齿处理。图片放大时的处理:图片在放大的时候会出现锯齿。纹理类提供了setAntiAliasTexParamet转载 2014-10-12 22:57:39 · 581 阅读 · 0 评论 -
iOS和android游戏纹理优化和内存优化(cocos2d-x)
1、2d游戏最占内存的无疑是图片资源。2、cocos2d-x不同平台读取纹理的机制不同。ios下面使用CGImage,android和windows下是直接调用png库。我测试了下,使用png库直接读取png会比CGImage还要节约1mb左右内存(图片所占内存4mb)但是速度要比CGImage慢一倍。时间和空间如何取舍就看实际情况了。不过最佳的选择似乎是pvr(即使android版本,即使不转载 2014-10-13 01:08:42 · 499 阅读 · 0 评论 -
(译)在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet
前言:这篇文章是我翻译的第一篇关于cocos2d的文章,我在翻译的时候尽量按原文意思来,但难免会加入自己一些理解进去。还有这篇文章所采用的xcode版本是3.2.5,用xcode4.0的朋友可能实现起来有点出入,我会在文章的最后给出解决办法。 文章原来出处:http://www.raywenderlich.com/2361/how-to-create-and-optimize-sprite-转载 2014-10-12 22:59:53 · 535 阅读 · 0 评论 -
图片mask混合
Texture2D* openImage(const char* jpgFile,const char* maskFile){ std::string name = jpgFile; name.erase(name.length()-4,4); std::string outname = name + ".png"; auto ret = Direc转载 2014-10-12 22:55:58 · 568 阅读 · 0 评论 -
Cocos2d-x之CCImage深入分析
Cocos2d-x之CCImage深入分析 CCImage类:支持从JPG,PNG,TIFF以及数据流,字符串中创建供Cocos2d-x进行访问的图片数据对象。 这是一个非常重要的类,因为它是你使用cocos2d-x来加载图片的基础。目前此类只支持JPG,PNG,TIFF三种图像文件,对于这三种图像文件,CCImage分别使用libjpg,libpng转载 2014-10-13 01:45:22 · 695 阅读 · 0 评论 -
深入分析Cocos2d-x 2.0中的“纹理”
我们来看一下cocos2d-x中的libcocos2d库,其下有许多目录,找到textures展开,可以看到有CCTexture2D,CCTextureAtlas,CCTextureCache,CCTexturePVR四个类。这四个类的功能分别是: CCTexture2D: 纹理,即图片加载入内存后供CPU和GPU操作的贴图对象。 CCTexturePVR:处理P转载 2014-10-14 17:36:22 · 1147 阅读 · 0 评论 -
Cocos2dx 禁止锁屏
IOS版本:在文件AppController中的 didFinishLaunchingWithOptions函数中加一行代码即可:[objc] view plaincopyprint?// 禁止ios设备锁屏 [[UIApplication sharedApplication] setIdleTimerDisabled: YES]; Androi转载 2015-03-28 20:50:04 · 626 阅读 · 0 评论 -
手持平台纹理格式说明
使用原则1.在内存够用的情况下,带Alpha通道的贴图请使用png格式,没有Alpha通道的使用jpg。如果你的游戏内存不足时,请使用如下所列的专属贴图格式.2.需要效率的游戏(如较多3D物件的游戏),使用请专属贴图格式.3.至于Android设备,游戏开发者贴图分格式包麻烦,直接用png最省事,需要省内存的就用PVR RGBA4444格式。如果游戏能赚钱再考虑对主流Android机做数据翻译 2015-08-04 12:25:57 · 1241 阅读 · 0 评论 -
Cocos2dx 3.0 过渡篇(三) 触摸机制
尊重原创,转载请注明来自:star特530的CSDN博客 http://blog.csdn.net/start530/article/details/18325493本来在中午休息时间打算大展拳脚,好好写一篇新触摸机制相关的博文,结果,等真正下手的时候才发现无从下手,很多地方自己都说不清,赶紧看了下testCpp,才发现原来是这样,还可以这样,哦?这样都行?哎,我还是太年轻了。 咱转载 2014-04-28 17:19:57 · 491 阅读 · 0 评论 -
Cocos2dx 3.0 过渡篇(一) 初体验
尊重原创,转载请注明来自:star特530的CSDN博客 :http://blog.csdn.net/start530/article/details/18052953有段时间没更新博客了,自认为水平实在够菜,不忍心出来坑人~~~~昨天cocos2dx 3.0 beta 版也出来了,我之前也用过一两个星期的alpha1版,所以决定写一些关于3.0的博文,这里不仅只有我个人的一些理解和看法,转载 2014-04-28 17:16:43 · 487 阅读 · 0 评论