10 dinko321

尚未进行身份认证

暂无相关简介

等级
TA的排名 1w+

cocos2dx 3.x 使用dragonbones 4.5 -- (二)

这次主要来说说基本结构和内存机制。    当然还是要拿spine来做个比较。spine的运行库,内存管理是完全按照cocos引擎的RC机制来的,用起来和普通的node并无差别。函数原型大概是这样:SpineNode* create(boneFile,atlasFile,pngFile)    依次传入骨骼文件名、图集json名、图片名,然后就会返回给你一个node,直接就开用了

2017-09-13 16:09:39

cocos2dx 3.x 使用dragonbones 4.5 -- (一)

spine的坑基本填的差不多了,坑完了spine,又开始坑dragonbones了。    为什么呢,因为dragonbones免费,而且编辑器和flash类似,现在的美术更熟悉。加上spine的坑确实有点麻烦,想换一个。    但是真正的换了,开始研究之后,才发现事情并么有那么简单。这个东西的坑也不少。    后面会慢慢的分析各种利弊,当然也会和spine对比。先介绍下环

2017-09-12 17:22:41

屏幕适配 -- setContentScaleFactor的用处

看了官网这篇关于适配的文章,涉及一个函数叫setContentScaleFactor。尤其是最后一句:ResolutionPolicy::FIXED_HEIGHT适合高方向需要撑满,宽方向可裁减的游戏,结合setContentScaleFactor(RH/DH)使用。ResolutionPolicy::FIXED_WIDTH适合宽方向需要撑满,高方向

2015-07-07 17:03:43

cocos2dx 大地图分块加载的研究(初)

项目里面需要加载一个很大的地图,目测最少是4096x4096的分辨率。        先不考虑什么引擎最大支持多大的图啊,大图加载效率啊等等这些问题,光是4k x 4k的分辨率,ARGB8888,加载进去,就是64M的内存,这还只是一个背景。再来点其他七七八八的东西,轻松超过120,这个内存在某些设备上就已经很危险了。        为了实现这个目标,处理的方式大概有2种:

2015-07-03 16:19:00

stl容器备忘

最近都用lua,突然换成C++写一个测试项目。        结果第一步就悲剧了。需要做一个map,来存sprite。就随便找了个unordered map来用。 unordered_map curTiles; unordered_map newTiles;                然后发现各种编不过~~~这里还有一个很神奇的事情,在mac的target

2015-07-01 15:51:40

向量计算

题外话:果然一直做什么卡牌策略和所谓的RPG是没有前途的        问题:比如要做一个打飞机,其中有一种追踪弹,锁定一个目标之后,会一直追着这个目标走,除非这个目标死。        一听到这个问题,一想到的,肯定就是取的目标的位置,然后把子弹move过去。但是打飞机这种游戏,肯定是每帧都会做碰撞检测什么的,moveTo那些肯定就不好用了。虽然也能用,只是不好用

2015-05-22 14:32:56

粒子系统 & ParticleDesiner 配置

以前没用过粒子。。。是不是low爆了。。。        现在要用粒子了,做一个下雨的效果。编辑器ParticleDesiner,里面有一个类似的自带效果,调调参数,生成plist,放进程序。突然发现一个问题,下雨的那个宽度,不知道怎么改。        然后照着test,里面也有个rain,代码改了改,还是没发现宽度怎么设置。如果我做一个大的,用缩放,缩放的是整个节点,里

2015-04-21 17:06:47

cocos2dx 实现gallery (五)

boss还想实现一个自动滚的效果,就是我手指一下快速的划过,不是慢慢拖动,然后这个滚滚会自己滚一段时间,再慢慢停下。        首先需要判断这个东西,是划过还是拖动。直接取按下的时间和松开的时间的差值,小于eps就算是划过,按自动滚处理,不然就按之前的拖动处理,我取的是0.5秒        然后怎么模拟这个滚一滚的慢慢停这个效果。。。我们还是来说物理吧。。。   

2015-04-15 14:51:25

cocos2dx 实现gallery (四)

之前说到了一个效率问题还没解决。        这个问题是这样的:        每个数据,需要一个节点来显示。如果数据项很多,比如几十几百个吧。那就需要几十几百个node,效率上就会很有问题。        仔细看我们那个gallery,一屏只能显示5个,其他的就被自己前面的node挡住了。我们给这5个节点编号1~5,当滚动的时候,当第六个节点完全出现的时候,第一个节点已经到

2015-04-15 14:35:48

sola病毒批量恢复工具 —— 大一的回忆

整理硬盘的时候,突然发现一切的图标,才想起我还做过这么一个东西。。。。而且还有近百万的下载量,如果算上各种山寨的,下载量可能是几百万        以下为主要为吹牛B内容,预警。        这个地址,应该是我原来的东西,百度一下,发现CSDN的下载区也有很多,比如这个,还有这个,还有这个。我之所以确定这些是我那个小程序,因为类似 注意事项(必看): 一、使用时的文件

2015-04-12 23:47:01

spine的问题之二、、、

之前说到spine在end回调里面调用setAnimation会蹦,那个是现象之一。又发现一个更具体的原因。        setAnimation之后,会调用到getCurrent函数:spTrackEntry* spAnimationState_setAnimation (spAnimationState* self, int trackIndex, spAnimation*

2015-04-10 11:43:45

cocos2dx 实现gallery (三)

我是lua的代码,呜啦啦啦啦~~不过不影响嘛。        首先设置一些参数: self.r = 260/2 --滚轮半径 self.vd = 330 --视点距离 self.arcPos = {135,180,225,270,315,360,45,90} --平铺放置节点的角度        我是按45度分部的,所以上面的角度先预留出来。这

2015-03-31 18:36:12

cocos2dx 实现gallery (二)

我们先把前面的模型简化,我们最后要看到的是这样:                这个图上,构成这个效果的主要因素有3个。        一、x方向的位置,就是图上绿点标记的地方,锚点0.5。(这里我不需要Y方向的变化,需要的也可以自己类推)        二、大小,有了大小的差别,就有了远近的差别        三、zorder,这个是决定遮挡关系,然后我们就会产生一种立体的错

2015-03-31 17:47:49

cocos2dx 实现gallery (一)

需要实现一个gallery 。         首先,最容易想到的,自然是让美工,摆个位置,大小,然后程序记录下来,每次移动的时候,后面一个节点移动到前一个节点的位置,然后再设置成前一个节点的scale和zOrder。        这么做,可以解决一些问题。比如这个。这样的gallery,只能一次动一格,因为他是直接把节点设置到前一个节点的位置去。如果你想要图随手走,就比较蛋疼了

2015-03-31 16:58:59

UI编辑器获取child的简化

先大喊一声:LUA大法好!        我用cocosStudio,编辑器编辑好的界面导入之后,有一个很痛苦的事情,就是给每个要操作的child初始化。能用的函数有2个:getChildByName和seekWidget。        但是总有那种特别BT的界面,有几十个要初始化的child,不说几十个,就是十几个,写下来也很蛋疼。在我怒写了几个界面之后,我突然想到,为

2015-03-18 17:05:31

cocos2dx ui编辑器生成界面的管理

说这个问题之前,先说不用各种UI编辑器的时候,开发一个界面的样子。        比如我们要做这样一个界面(图片素材来自百度图片,侵权不怪我。。。)        我们应该肿么处理这个界面,为了代码好看,可以复用等原因,显然是应该分层分组件,就像这样。        然后我们开始编辑代码,分3个layer,每个layer里面加各种按钮,写上各种触发函数。然后其他地方要用,只需要

2015-03-18 13:31:10

由scrollView的缩放,发现的关于2种触摸模式的问题

在scrollView的缩放功能这个文章中,还有一个疑问没有解决,为什么明明用的是单点模式,却还是可以做双指缩放的效果。        引擎里面提供 kccTouchModeOneByOne 和 kccTouchModeAllAtOnce 2种触摸模式,名字很直观,第一种是一个点一个点的处理,那么就是单点模式,第二种是所有点一起来,那么就是多点模式。        但是其实之前有一

2015-03-13 10:42:45

CCScrollView 的隐藏属性 —— 缩放

遇到一个很神奇的事情,之前的项目里面,有一个主地图的缩放功能,类似COC背景地图,可以拖动,可以双指缩放。        一般说来,我们会想到写个layer通过多点触控自己实现,因为现有的引擎提供的组件没有能实现这个功能的(或者说我以前不知道。。。),但是我看这个项目代码的时候发现,整个工程里面,所有的touchmode全是kccOneByOne,也就是说全是单点模式,但是他确实用的是scro

2015-03-13 10:27:13

关于cocos2dx CCCallfunc对象的传参 (2.x)

之前就觉得这个回调对象很麻烦,需要在create的时候,就把参数设置进去,然后execute的时候,只是直接用开始设定的参数调用这个函数。要更改,只能获取这个对象,然后用setObject来做,设置完了再execute。    而现在做lua,发现有这么一种神奇的做法:function MessageCenter:send(message , ...) if self.ha

2015-03-12 14:15:20

3.4 lua 使用 spine 的一些问题

一、基本使用: self.skeletonNode = sp.SkeletonAnimation:create("sptest/spineboy.json", "sptest/spineboy.atlas", 0.3) self.skeletonNode:setAnimation(0, "walk", true) self.skeletonNode:setMix(

2015-03-10 16:58:57

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!