Aseprite+Cocos:打包像素画图,导入到cocos里并动起来
前言:Aseprite入门教程
1、制作像素画:
按照上一次的小球跳动制作过程,先制作一个像素画动画:

若是导出gif动态图,效果如下:

但是在保存图片时,不要导出gif格式,选择save as...:

选择好路径后,选择png格式输出:

会提示自动把每一帧的图片按照1、2、3···等数字的顺序保存:

保存如下:

2、使用TexturePackerGUI工具进行处理:
打开
软件,看到界面:
这里要注意,使用试用版的话,打包的图片会出现乱码文字!我一开始就是因为这个,卡了半天。
点击Add Sprites:

在弹出的选择文件框里按住Ctrl把要添加的图片全部点选:


选择格式:

点击Publish生成:


生成的图片和plist文件如下:

3、建立cocos项目:




4、在vs里编辑代码:
将plist和png文件复制到新建的test项目下的Resources资源文件夹下:

用.sln打开项目:


编辑HelloWorldScene.cpp里的init方法:
bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !Layer::init() )
{
return false;
}
auto* background = LayerColor::create(ccc4(, , , ));
addChild(background);
auto* sprite = Sprite::create("1.png");
sprite->setPosition(, );
addChild(sprite); auto* m_frameCache = SpriteFrameCache::getInstance();
m_frameCache->addSpriteFramesWithFile("qiu1.plist", "qiu1.png");
Vector<SpriteFrame*> frameArray;
for (int i = ; i < ; i++)
{
auto* frame = m_frameCache->getSpriteFrameByName(String::createWithFormat("%d.png", i)->getCString());
frameArray.pushBack(frame);
}
Animation* animation = Animation::createWithSpriteFrames(frameArray);
//表示无限循环播放
animation->setLoops(-);
//每两张图片的时间隔,图片数目越少,间隔最小就越小
animation->setDelayPerUnit(0.1f); //将动画包装成一个动作
auto* action = Animate::create(animation);
sprite->runAction(action);
return true;
}
运行如下:

里面的图片是动态的,这里直接放的截图。
5、打包apk:
在pro.android文件夹下:
按住shift并右击鼠标,调出管理员的命令行窗口:

使用python2.7(python3.6的版本太高,语法差异大,可能会编译失败)运行build_native.py文件:



将apk在手机上安装,运行结果如图:

6、错误实例:
使用试用版TexturePacker打包出的图片:

这个软件是可以免费注册的,不过需要一两天处理时间,不是试用版就不会出现乱码问题,这个估计也是软件作者故意设置的,还是要多支持正版。
Aseprite+Cocos:打包像素画图,导入到cocos里并动起来的更多相关文章
- eclipse项目中关于导入的项目里提示HttpServletRequest 不能引用的解决办法
eclipse项目中关于导入的项目里提示HttpServletRequest 不能引用的解决办法 当使用eclipse导入外部的web工程时,有时会提示HttpServletRequest, Serv ...
- 怎么从svn服务器上把工程导入到MyEclipse里
怎么从svn服务器上把工程导入到MyEclipse里,步骤如下:
- cocos打包出现错误,执行命令出错,返回值:2。 Traceback (most recent call last): File "E:\cocos_workspace\MyGameOne\proj.android\build_native.py", line 43, in <module> build(opts.build_mode) File "E:\cocos_workspace\MyGa
先看看NDK的版本,如果不行,就删除\proj.android\obj\local\armeabi下的文件.
- cocos打包到ios与android上音频推荐
首先贴一张官方对于ios与android上音频格式的推荐: 这里只给出了推荐格式,一般我们在实际运用中会使用如下方式: 一.IOS与安卓各一套:音乐:都使用MP3 音效:ios用caf Andr ...
- 在Eclipse中导入SVN库里的Maven项目
长期使用Intellij 对于Eclipse的东西都生疏了... 做了个小教程说明Eclipse下导入Maven工程的步骤以备不时之需 1. 安装maven插件 a) 下载maven http://m ...
- Net.Core导入EXCel文件里的数据
1.前台的表单: <form enctype="multipart/form-data" method="post" id="inportFil ...
- excel表里的数据导入到数据库里
采用的是jxl,所以需要导jxl-2.4.2.jar的jar包.(前提知道excel表的目录): //用log记录异常信息 private static final Logger log = Logg ...
- 下载个jquery-easyui-1.3.0使用,把他导入到myeclipse10里,jquery-1.7.2.min.js报错。 错误如下, Syntax error on token "Invalid Regular Expression Options", no accurate correc
1.选中报错的jquery文件“jquery-1.2.6.min.js”.2.右键选择 MyEclipse-->Exclude From Validation .3.再右键选择 MyEclips ...
- 导入到eclipse里的工程挺大的,然后就一直报: An internal error occurred during: "Building workspace". GC overhead limit exceeded 这个错误。
解决方法: 原因是Eclipse默认配置内存太小需要更改Eclipse安装文件夹下的eclipse.ini文件. Eclipse.ini默认文件如下: 修改如下: -Xms1024m -Xmx2048 ...
随机推荐
- 递归求6的阶乘(考虑int类型溢出)
编码 public class Factorial { public static void main(String[] args) { System.out.println(fac(6)); } p ...
- 1004: [HNOI2008]Cards - burnside + DP
Description 小春现在很清闲, 面对书桌上的 \(N\) 张牌, 他决定给每张染色, 目前小春只有 \(3\) 种颜色: 红色, 蓝色, 绿色. 他询问 Sun 有 多少种染色方案, Sun ...
- jmeter安装与使用
1.下载安装Jmeter.JDK Jmeter官网下载地址: http://jmeter.apache.org/download_jmeter.cgi JDK官网下载地址: http://www.or ...
- Springboot访问静态资源
转载 http://blog.csdn.net/catoop/article/details/50501706
- 分享一个14年写的用户管理类-swift版
AccountManager类 14年设计,从swift 0.9开始,迭代到现在swift4.0版本,总体几乎没什么改动,简单稳定. 其实现的思路主要还是借助之前net反射的经验,实现了自动保存用户信 ...
- pycharm设置文件编码
原文链接
- python语法之正则
1.正则表达式是用来干嘛的? 用来匹配字符串的 ,其中正则是意思是模糊匹配. 就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通 ...
- safari10.0以上版本出现默认小人头图标
1.可能改input输入框外层有兄弟元素在input之前,将input元素位置放置在所有兄弟元素之前即可
- 20175316盛茂淞 2018-2019-2 《Java程序设计》第8周学习总结
20175316盛茂淞 2018-2019-2 <Java程序设计>第8周学习总结 教材学习内容总结 第十五章 泛型 -- 主要目的是可以建立具有类型安全的集合框架,如链表.散列映射等数据 ...
- mysql 数据库链接 过期产品
注意下面的"@" 必须要加的!否则会报错! $link = @mysql_connect('localhost','root','root') or die("link ...