位置: 编程技术 - 正文
推荐整理分享[置顶] cocos2dx3.1 texturepacker播放动画([置顶]bilinovel),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:[置顶]游戏名:chivalry2,[置顶] clauvio,Twitter小老鼠,[置顶]bilinovel,[置顶] 纯享版奥义,手机迅雷搜:阿天动漫,[置顶] clauvio,Twitter小老鼠,[置顶] chill your life,[置顶] clauvio,Twitter小老鼠,[置顶] cmbwfh,内容如对您有帮助,希望把文章链接给更多的朋友!
先使用texturepacker把所需要使用的帧动画打包成一张图片和一个plist文件。使用大图的好处就是可以一次性载入图片,然后通过plist文件确定图片的位置,在内存中寻找图片数据,这就减少了I/O操作,使效率大大提高。但是相对来说图片的大小变大了,因为中间多了很多的空白的地方。这就是算法分析中时间与空间的矛盾吧。
然后使用如下的代码播放动画:
//获得精灵帧的实例,并通过plist文件载入精灵帧
SpriteFrameCache* cache = SpriteFrameCache::getInstance();cache->addSpriteFramesWithFile("bear.plist");
//把所有的精灵帧放入Vector数组中Vector<SpriteFrame*> frameArray;for (int i = 0; i < 3; i){string name("bear");char text[8];sprintf(text,"%d",i);string temp(text);name = temp ".png";SpriteFrame* frame = cache->getSpriteFrameByName(name);frameArray.pushBack(frame);}
//定义第一个精灵,后续使用这个精灵播放动画Sprite* sprite = Sprite::createWithSpriteFrameName("bear0.png");sprite->setPosition(ccp(,));this->addChild(sprite);
//从数组中获得精灵帧,并获得Animation的实例,后面的两个参数分别是每一次循环的间隔时间,和循环的次数Animation* animation = Animation::createWithSpriteFrames(frameArray,0.2f);
//播放动作sprite->runAction(RepeatForever::create(Animate::create(animation)));
使用最新的quick cocos的lua代码如下:(原理是一样的)
function MainScene:runAnimation()-- bodyprint("runAnimation()")local cache = cc.SpriteFrameCache:getInstance()if cache ~= nil then--todoprint("cache is null")endcache:addSpriteFrames("bear.plist")print("addspriteframe")local array = {}for i = 1,3 dolocal str = "bear" .. tostring(i-1) .. ".png"array[i] = cc.SpriteFrameCache:getInstance():getSpriteFrame(str)endlocal sprite = cc.Sprite:createWithSpriteFrame(array[3])sprite:setPosition(,)self:addChild(sprite)local animation = cc.Animation:createWithSpriteFrames(array,0.2)sprite:runAction(cc.RepeatForever:create(cc.Animate:create(animation)))end
cocos2d getPosition()取不到实际坐标问题 最近做感觉遇到的最多的就是坐标问题,感觉需要总结一下,不废话,直接上我的结论1、cocos2d,节点默认坐标(0,0),默认锚点(0.5,0.5),顶点节点
cocos2d使用websocket,编译不过,解决办法 最近在看Cocos2d,打算客户端使用cocos2d,服务端使用websocket。用vs编译下cocos2d,出乎意料的方便。而且跨平台方面做得也很方便(貌,虽然我还没测试
【Cocos2d-x Lua笔记四】Quick-Cocos2d-x 什么是Quick?Quick与Cocos2dLua有什么关系?quick是一个运行在cocos2d-lua之上的游戏框架和一些扩展的集合。在前一个月左右quick团队已经接手了cocos2d-xLua的开
标签: [置顶]bilinovel
本文链接地址:https://www.jiuchutong.com/biancheng/369128.html 转载请保留说明!上一篇:cocos2d CC_CALLBACK_0/1/2/3之间的区别
友情链接: 武汉网站建设