cocos2dx
玖五二七
对新兴的技术感兴趣对开源服务器和客户端感兴趣cocos2d-xpomelofirefly都感兴趣
现在方向是Golang/微服务/Devops/K8s
展开
-
cocoside报Failed to load the JNI shared library
由于jdk从1.6升级到1.7,导致了cocoside原来可以正常工作变成报以下错误Failed to load the JNI shared library “C:\Program Files (x86)\Java\jdk1.7.0_71\bin..\jre\bin\client\jvm.dll”.此错误由eclipse引起,意思是无法加载jvm这个动态库,在win7下的目录来看,这是一个32位程原创 2015-08-18 15:46:43 · 918 阅读 · 0 评论 -
cocostudio的BitmapLabel字体替换
quick3.3中。setFntFile(fntfilename) 这招可以动态的切换字体,quick3.3的sample中无任何使用痕迹 在C:\Cocos3.X\quick-3.3\cocos\2d\CCLabelBMFont.h中找到的接口。 因为正分和负分需要不同的字体提示,因此挖到了此方法,需要的童鞋尽管来拿。原创 2015-09-02 14:53:21 · 1159 阅读 · 0 评论 -
Android Studio 报错: Failed to complete Gradle execution
Go to File–>Setting–>Gradle–>Gradle Vm Option, Now put this value -Xmx256m in the box, and hit the Apply button. (或者改成-Xmx512m )转载 2015-08-11 14:55:02 · 2108 阅读 · 0 评论 -
带百分比显示的滑块控件
项目中需要一个这样的控件,它有一个滑动块,然后可以显示当前的百分比 这样的控件实际上就是一个slider和一个progressbar的组合体,在实际实现的时候需要注意几个小地方就可以了。看了quick关于slider的实现,它里面重新设置位置的时候会重新加载背景图。 以下是效果图 这是几种状态下的控件状态 这个控件的实际作用也非常的显示,用户可以操作音效的时候有用,这与纯slider的区别在原创 2015-07-02 19:17:13 · 2774 阅读 · 0 评论 -
UISlider注意事项
UISlider是滑块控件,前面一篇文章有简单的提到它的用法,在此提几个注意事项 1 该控件的对齐方式需要使用display.CENTER_XXX 若不是以center开头,那么,所出来的底图与按钮会发生错位! 2 无论如何,那个底图是被显示出来的,若要控制底图不显示,得在所有的事件中把它隐藏起来self.slider:onSliderValueChanged(function(event)原创 2015-07-01 10:21:01 · 778 阅读 · 0 评论 -
quickcocos2dx xcode 6.3 中项目横屏设置
今天在捣鼓项目的时候发现,xcode6.3版本中的横屏设置并不是在项目的 TARGET->General->Deployment Info->Device Orientation中进行勾选就完事了 必须修改代码 首先,以上的部分必须选择 Landscape Left Landscape Right 这2个选项 若仅仅如此,直接编译通过。再运行,则会出现app crash的情况,而且输出原创 2015-07-08 19:43:22 · 1147 阅读 · 0 评论 -
quick2.2.6 使用控制台新建项目
不用cocos引擎手动创建项目 找到2.2.6/bin/create_project.bat 在控制台中输入以下指令 create_project -p com.quick.game -r landscape 项目就创建好了 要想使用更多参数 create_project -h 查看其他参数原创 2015-04-13 09:52:10 · 1013 阅读 · 0 评论 -
quickcocos2dx中动态更换图片资源的办法
在游戏中经常需要在同一位置动态的改变静态图片或是动画,以下就介绍几种常用的方法1 sprite精灵sprite精灵是由display.newSprite()而来这类精灵在替换的时候需要setTexture(arg)arg是texture对象,这个对象可以由其他的sprite对象getTexture()而来,也可以由local t = CCTextureCache:sharedT原创 2015-01-12 09:36:08 · 4819 阅读 · 0 评论 -
锚点对动画的影响
在cocos2dx中,锚点(AnchorPoint)是一个非常重要的概念 网上关于它的文章非常的多,但是没有定义 我来简单的下一个定义:对于对结点位置进行控制,对结点对象移动的基准点。 举个粟子: 如图所示,默认的锚点在图片的中间(0.5,0..5)位置 此时,对象的对齐以此点来进行 假设此时该点在屏幕的坐标为 50,30 我们改变锚点以后,想让该对象再在这个位置,就要重新设置它的原创 2015-06-17 14:13:41 · 975 阅读 · 0 评论 -
quick中的静态布局和动态展示
quick cocos2dx 的布局网络上有非常多的介绍,在此就不从头介绍了,不过有做动画的童鞋需要注意以下几点 1 对象的位置都是相对坐标 如图所示 这里有5个对象,其中 a的父结点是e a坐标为 0, 50 c的父结点是e c坐标为 30, 0 b的父结点是a b坐标为 20, 10 d的父结点是c d坐标为 20, 10 代码如下local原创 2015-06-17 10:13:46 · 700 阅读 · 0 评论 -
quick lua中的类继承
quickcocos 中让 Lua有了”继承”的能力,看起来更像OO语言了 通过测试,发现其基类的成员变量和成员函数都可以被很好的继承下来 例子------------------基类-----------------------local base = class("base")function base:ctor() print("---base.ctor---") se原创 2015-05-28 15:59:13 · 1222 阅读 · 2 评论 -
CCProgressTimer进度条比LoadingBar靠谱
CCProgressTimer是ccnode的子类,可以用作水平、垂直、圆形的进度条 创建一个进度条local spr = display.newSprite("xx.png")local pg = CCProgressTimer:create(spr)local bg = display.newSprite("bg.png")bg:addChild(pg)pg:setType(kCCP原创 2015-05-08 17:16:53 · 1171 阅读 · 0 评论 -
谈quick addSearchPath
addSearchPath在quick中只有一个参数,即要添加的文件夹加入到搜索路径,以便于找到此资源 常见的添加方式为CCFileUtils:sharedFileUtils():addSearchPath("res/")CCFileUtils:sharedFileUtils():addSearchPath("scripts/")此时向quick说明,我们已添加了资源res和scripts下面的原创 2015-04-15 15:32:22 · 2944 阅读 · 0 评论 -
cocoside1.1.0卡顿
如题cocoside1.1.0异常卡顿 目前最轻量级的组合仍然是 sublime+quickxdev3.3 安装方法 1 sublime 点击这里进入首页,下载2或3的最新版本 2 quickxdev3.3 点击这里进入下载 下载3.3版本的语法提示器并按照要求完成安装即可原创 2015-08-11 14:30:00 · 592 阅读 · 0 评论 -
quick2.2与quick3.3的区别(2)
quick2.2 quick3.3 说明 ccarray 无 若有runaction使用,则使用transition.sequence替换 ui.newTTFLabel display.newTTFLabel 使用 cc.ui.UILabel 替换 cc.PACKAGE_NAME..”.api.GameState” cc.PACKAGE_NAME..”.cc.u原创 2015-08-03 14:12:25 · 2002 阅读 · 0 评论 -
quick中使用CCS时不要用cc.ui.xxx
各位留意,cc.ui.xxx是quick自己封装过的控件, 而ccs里面的对象是c++里面的原生控件, 若使用cc.ui.xxx将出现在ccs里面有交互的时候无法响应touch事件的问题 必须用ccui.xxx,这个是c++里面的控件,touchEvent也是同一体系的。原创 2017-01-11 15:16:04 · 909 阅读 · 0 评论 -
quick-cocos2dx 继承坑
quick里面继承的时候local a = class('a')local b = class('b', a)function b:ctor() self.super:ctor()end这样的方式来模拟了继承,不过坑爹的是,一旦这个里面有参数,那参数就不会被传递了local a = class('a')function a:ctor(num) self.num = nume原创 2016-09-28 17:29:00 · 595 阅读 · 0 评论 -
quick cocos2dx addEventListener坑
quick cocos2dx的addEventListener需要组件EventProtocol支持,这个组件提供了消息分发和消息捕捉机制 但是不能马上在回调函数里面进行消息分发,再在下一级中执行销毁操作,否则会引发事故 代码如下obj:addEventListener('myEvent', function(event) self:dispatchEvent(event)end)su原创 2016-09-20 17:02:33 · 2268 阅读 · 0 评论 -
cocos creator 触摸捕捉事件
node对于触摸事件的捕捉是基于它本身的size范围的,如果这个node本身大小为0,则无法响应捕捉事件。this.node.on(cc.Node.EventType.TOUCH_START, function(event){ cc.log('-------touchstart-------'); }, this.node);代码相当的简单,如果大小size设原创 2016-05-31 14:24:24 · 10403 阅读 · 0 评论 -
quickcocos2dx scheduler妙用
这货前一篇文章讲了它的坑,这次可以着实利用它的特性了。 任何事情都分为2面,不可能全是差的。 好了,我们在LayerA左上角有一个按钮,点击以后进入LayerB. LayerB左上角相同位置也有一个按钮,点击以后从LayerB返回LayerA. 由于LayerB从加载到出现需要花费大概2秒钟,但是这个时候那些按钮却是可以点击的。 此时会发生一个特别神奇的现象,可以猛点LayerA上面的左上原创 2016-02-19 14:16:48 · 777 阅读 · 0 评论 -
quick-cocos2dx scheduler.scheduleGlobal坑
scheduler.scheduleGlobal这个是quick-cocos2dx中的定时器,用法很简单 scheduler.scheduleGlobal(callback, interval) callback为要执行的函数,interval是定时的时长。 坑在于这个interval不会很精确的按照设置的值来执行。 假设interval=1,则想每秒执行一次function callbac原创 2016-02-05 03:01:07 · 2466 阅读 · 0 评论 -
cocos creator发布
1 只支持js2 可以使用js进行扩展3 仅仅是基于cocos-js内核,并不完全一致4 整个游戏可以使用此ide完成5 放弃原来的继承式,换成了组件式的对象组织方式持续关注,新工具果然够强大,不过需要等它上正式版,现在不知道其稳定性如何。原创 2016-01-20 17:30:47 · 1268 阅读 · 0 评论 -
cocosjs+ccs花屏解决
这个问题着实恼火,终于解决掉了,问题出在ccs的按钮上,那个按钮默认是采用9宫格渲染,但是问题在于ccs解析工具对9宫格的支持不到位,不稳定造成花屏问题,实际就是那些采用9宫格的图片被拉得变形了导致,禁用掉ccs中的图片里面的9宫格,问题就可以解决了. 困惑了许久的问题终于尘埃落定,果然新年有新气象.原创 2016-01-02 10:59:33 · 1140 阅读 · 0 评论 -
cocosjs+ccs在iphone6上花屏进展
事情终于有了良好的进展,根据现象以及机型来判断,这是cocostudio的解析问题,是的,没有错,问题图片向我清楚的展示了图片是如何错乱的,通过排查,发现是ccs里面的9宫格图片被错误的渲染了造成的花屏,通过仔细的观察发现花屏的界面上各个资源的位置基本正常,但是却放置了错误的图片在上面,而且有些已经错乱到无法辨识。加上之前对资源加载的完善,确定了问题点的存在,通过一番修改以后,在iphone6上的花原创 2015-12-31 13:39:17 · 957 阅读 · 0 评论 -
cocosjs+cocostudio最新版本在iphone6上花屏
cocosjs非native版本在iphone6及以上版本上会出现花屏,现在正在全力寻找线索,初步判断下来跟资源加载有关。如果 是ccs的问题,那么以后不再使用cocostudio了。看来不实践就没有发言权,花屏的问题在pc上从来都不会出现。在安卓手机上也没有出现过,现在看来定位在iphone6上没有问题。可能是浏览器的加载策略,难道iphone6上会异步加载?没加载完资源就去加载程序么?原创 2015-12-30 09:56:27 · 1053 阅读 · 0 评论 -
cocosjs修改资源后无法读取
在cocos-js中往往添加了资源文件以后无法马上使用,这是因为你的浏览器会缓存上一次的资源,代码会更新的速度快于资源更新速度造成的。 所以遇到这种情况只需要把浏览器里面的缓存清理一下就好。原创 2015-10-26 10:08:41 · 936 阅读 · 0 评论 -
quick-cocos2dx 半成品 UILoadingBar
quick cocos2dx提供了一些控件,UILoadingBar就是其中之一,它提供了进度条的功能。但官方的例子无此控件使用local options = { scale9 = false, -- 是否使用9宫格 image = "test.png", capInsets = cc.rect(原创 2015-04-08 17:19:09 · 1087 阅读 · 0 评论 -
quick-cocos2d中替换纹理的几种方式
1 纹理从文件中读取local img = display.newSprite("1.png")img:setTexture("2.png")2 纹理从缓存中读取display.addSpriteFramesWithFile("1.plist", "1.png")local frame = display.newSpriteFrame("xx.png")local img = displa原创 2015-04-22 13:13:50 · 3240 阅读 · 0 评论 -
关于TableView中显示帮助文字的处理
最近刚好做了TableView里面处理文字,文字一般都超过了屏幕的高度,是需要向下滑动,所以得用TableView来实现这个功能。问题1 中文的显示这个其实可以用xml里面通过指定编码格式来避免。context中文和其他的内容在xml的开头规定一下它的编码格式就可以了,然后里面可以写个key来包装我们所需要显示的内容。然后再在cocos2dx里面原创 2013-11-11 15:58:57 · 1364 阅读 · 0 评论 -
TableView模态弹窗,并屏蔽下层的按钮响应
上一讲我们说了用tableview做一个帮助界面,考虑到很多的帮助界面都是弹出式的,因此今天又加上这篇文章,来完善之前的帮助。cocos2dx的触摸事件比较麻烦,当前的版本还没有如windowsMFC那样的方便,现在要做比较麻烦,据说3.0版本会建立消息机制,期待ing...现在就讲在2.X版本下的处理,要屏蔽掉下层,可以将tableview层设计成有最高响应权限的层,这个可以通过CC原创 2013-11-14 11:31:08 · 1996 阅读 · 1 评论 -
CCLabelTTF的setString在真机上崩溃的问题(2.1.4)
在Win下开发没有任何的问题,但是到了真机上会时不时的发生crash跟进到问题点居然是setString在作梗。暂时没有办法解决。估计是cc2dxlib的BUG解决方案是不要使用这个函数,每次都create一个新的CCLabelTTF对象,并在这之前删除掉原来的对象。示例代码如下:removeChildByTag(6);setVisible(true);cocos2d::C原创 2013-12-08 18:57:19 · 3092 阅读 · 1 评论 -
CCControlSlider弹窗
CCControlSlider弹窗原理跟TableView一样的,不过有点小问题,CCControlSlider的ccTouchBegan是protect的,无法被调用,于是得再包装一下class MyCCControlSlider : public CCControlSlider{public:virtual bool ccTouchBegan(cocos2d::CCTo原创 2013-11-14 14:16:38 · 836 阅读 · 0 评论 -
CCLabelTTF的多行显示(仅限中文)
这个标题叫setDimensions的坑更贴切。缘起想要弄个自动换行的对话框功能,就想到了如何自动换行。看到一个叫setDimensions的函数,设置可以显示的区域,超出部分进行换行.在网上找过一些例子发现似乎真的神奇可以自动换行。但是实际上新建一个HelloWorld的例子发现出了问题,代码如下CCLabelTTF* pLabel = CCLabelTTF::create("Hel原创 2013-11-27 16:58:43 · 7995 阅读 · 4 评论 -
cocos2dx-2.2搭建android环境
cocos2dx-2.2 里面可以通过 tools\project-creator\create_project.py来生成所有需要需要的项目,而且会自动使用版本最低的AndroidSDK进行配置。非常方便,强烈推荐使用此版本。另外还有个好处是此版本支持cocostudio一款非常棒的编辑器,以后再也不为界面编辑而桑心了。言归正传,其实配置这个非常方便。跟上次的一模一样,不过要注意以下几原创 2013-11-01 16:30:29 · 1377 阅读 · 0 评论 -
window下搭建android和cocos2dx环境(无需cygwin)
本人之前搞一次Win下的android环境伤一次,这次下定决心不再伤了,总结如下:注意64位和32位的包要获区分清楚。cygwin - 不需要JDK&JRE JAVA运行时及开发包(要安装)一定要1.6以上的版本,官网地址如下:http://www.oracle.com/technetwork/java/javase/downloads/index.ht原创 2013-08-19 22:35:26 · 2175 阅读 · 5 评论 -
CCControlSwitch 的使用
CCControlSwitch 用来处理开关的控制,比如声音,音效等,它的使用也非常方便,如下所示,从testcpp中抠出来的代码double layer_width = 50;// Create the switchCCControlSwitch *switchControl = CCControlSwitch::create(CCSprite::create("switch原创 2013-10-18 17:25:30 · 1126 阅读 · 0 评论 -
cocos2dx中合并windows和Android代码(基于2.1.4)
cocos2dx是个跨平台的UI引擎,宗旨是一次写代码到处编译。但是实际上以前笔者做项目的时候会发生win下一套代码,MAC下一套代码,Android下一套代码的尴尬问题,因为当时对这个东西不熟悉,因为开发是在win下做的,调试神马的在win下也比较熟悉~然后把这些代码复制到android工程里面,调试的时候发生问题了再把修改过的代码拷贝到Andoird工程下去再次编译,Andoird下的代码发生原创 2013-08-30 22:06:57 · 1470 阅读 · 5 评论 -
cocos2dx中的touch检查是否选中了控件
思路为把ouch的坐标(screen坐标)转成节点坐标,然后算出子控件的rect来看是否包含了touchpoint思路很清晰,适合于大量的常规矩形的touch。有以下几点要注意:1 若是子控件,由应继承于 CCToucnDelegate,再继承于想要继承的基类,如CCNode。2 virtualvoidccTouchesBegan(CCSet *pTouches, CCEv原创 2013-09-26 11:33:53 · 1328 阅读 · 0 评论 -
cocos2dx cceditbox使用注意事项
基本用法见testcpp .cocos2d-x版本为2.1.4.h文件 注意:这里继承于CCEditBoxDelegate代理,不直接继承于CCEditBox,而是将CCEditBox作为组合使用。并将本身的Layer作为被代理对象,重载CCEditBoxDelegate接口。CCEditBox的默认字体色是白色,若是用白色的底框则看不到输入内容,所有务必检查字体颜色CCe原创 2013-09-29 09:21:39 · 4463 阅读 · 0 评论 -
用cocos2dx实现聊天效果
首先来看一下现在流行的短信形式,以下的图是随便找的~~用cocos2dx来实现它其实非常简单,需要一个9妹,一个CCLabelTTF就可以实现,OK,先讲一下思路,再上代码1 把要显示的字符放进LabelITTF2 获取字符串控件的宽和高与9妹对比,如果小于9妹,则用9妹原来的宽高,否则计算应该把9妹拉到适合的大小3 设置9妹的大小,就完成了。代码也非常简单,上面上原创 2013-10-22 13:52:24 · 5164 阅读 · 5 评论