内容例如以下:

#include "cocos2d.h"
#include "cocostudio/CocoStudio.h"
//精灵猫和其它精灵的tag
typedef enum{
catTag =1,
}; //cocostudio 动画帧tag
typedef enum{ catWalkTag = 1001,
}; class Base :public cocos2d::Layer
{
public:
Base();
~Base(); //在地图中创建一个活多个空精灵节点
void createSpriteInMap(cocos2d::TMXTiledMap* map, const std::string& strObj,int _tag, const std::string& strJosn, const std::string& _index, float scale); //创建精灵的动画
cocostudio::Armature* createArmature(const std::string& strJosn, const std::string& _index, float scale); //移除动画
void removeArmature(int _tag1,int _tag2); };
#include "Base.h"
USING_NS_CC;
using namespace cocostudio;
Base::Base()
{
} Base::~Base()
{
} void Base::createSpriteInMap(TMXTiledMap* map, const std::string& strObj,int _tag, const std::string& strJosn, const std::string& _index, float scale)
{
auto group =map->getObjectGroup(strObj);
auto& objs = group->getObjects();
for (auto& obj : objs)
{
ValueMap& dict =obj.asValueMap();
float x =dict["x"].asFloat();
float y =dict["y"].asFloat();
auto sprite = Sprite::create();
sprite->setPosition(Point(x,y));
ArmatureDataManager::getInstance()->addArmatureFileInfo(strJosn);
Armature *armature = Armature::create(_index);
armature->getAnimation()->playWithIndex(0);
armature->setScale(scale);
switch (_tag)
{
case catTag:
sprite->addChild(armature, 2, catWalkTag);
this->addChild(sprite, 2,catTag);
}
} } cocostudio::Armature* Base::createArmature(const std::string& strJosn, const std::string& _index, float scale)
{
ArmatureDataManager::getInstance()->addArmatureFileInfo(strJosn);
Armature *armature = Armature::create(_index);
armature->getAnimation()->playWithIndex(0);
armature->setScale(scale);
return armature;
} void Base::removeArmature(int _tag1,int _tag2)
{
auto sprite =this->getChildByTag(_tag1);
sprite->removeChildByTag(_tag2);
}
this->createSpriteInMap(myMap, "jlmPoint", 1, "cat/CatWalks/CatWalks.ExportJson", "CatWalks", 0.5f);

cocos3.0使用cocostudio动画帧结合地图对象键值创建精灵动画的更多相关文章

  1. cocos2d-x创建精灵动画方式汇总

    1.创建精灵框架缓存,并向其中添加相应的动画文件(plist),最后,通过动画集缓存生产动画 CCSpriteFrameCache *cache = CCSpriteFrameCache::share ...

  2. cocos2d-x创建精灵动画

    创建动画一般过程: 1.创建精灵框架缓存,并向其中添加相应的动画文件(plist),最后,通过动画集缓存生产动画 CCSpriteFrameCache *cache = CCSpriteFrameCa ...

  3. CSS3的自定义动画帧

    CSS3新增的动画帧非常绚丽,可以简单实现一些动画效果,目前除IE外各大主流浏览器都支持 本文演示三个:transform: scale3d(x, y, z)-缩放;.transform: trans ...

  4. 网页小实验——用canvas生成精灵动画图片

    实验目标:借助canvas把一张国际象棋棋子图片转换为一组适用于WebGL渲染的精灵动画图片,不借助其他图片处理工具,不引用其他库只使用原生js实现. 初始图片如下: 一.图片分割 将初始图片分割为六 ...

  5. 精灵动画Animation对话框组成Idle动画的各精灵

    精灵动画Animation对话框组成Idle动画的各精灵 1.3  精灵动画 场景中已经添加了精灵,现在是时候让让它动起来了.读者也许已经从精灵图集中,各精灵的命名中看出来了,这个精灵一共有两种动画状 ...

  6. CocoStudio创建动画帧

    进入动画编辑器 选择“形体模式” 右键点击资源窗口的资源,可以进行删除,重命名的操作:  可以再资源窗口下方的预览窗口,查看选中的资源预览效果图: 右键点击“对象结构”,创建图层 选择“动画模式” 右 ...

  7. CocoStudio基础教程(6)使用CocoStudio编辑帧事件并关联到程序

    1.概述 帧事件也是新加入的功能.这篇中我们将看到如何使用它.我们将上篇中制作的动画稍加修改. 2.用途与原理 首先介绍一下帧事件.正如其名:一个与帧相关联的事件. 为什么要这么做呢?首先没人想做一大 ...

  8. cocostudio使用plist创建序列帧动画图片名称序列错乱的问题

    cocostudio 版本v2.2.9 用texturePacker将动画帧打包成一个plist和一张png,将plist拖入cocostudio中的资源栏中. 如图所示,plist里面的图片顺序是乱 ...

  9. 【转】CSS3动画帧数科学计算法

    本文来源于:财付通TID 原作者:bboy90 总结都浓缩在这个工具里了,想知道工具的地址或想窥探工具诞生的趣事请往下看 . —————————————————————–     华丽丽的开篇     ...

随机推荐

  1. java中常见异常汇总(根据自己遇到的异常不定时更新)

    1.java.lang.ArrayIndexOutOfBoundsException:N(数组索引越界异常.如果访问数组元素时指定的索引值小于0,或者大于等于数组的长度,编译程序不会出现任何错误,但运 ...

  2. 转:google测试分享-GTA

    原文: http://blog.sina.com.cn/s/blog_6cf812be0102viuh.html 上一次分享了google测试分享-分层测试,有很多自动化测试的策略和实施都要有一个重点 ...

  3. PHP 执行系统外部命令的函数- system() exec() passthru()

    PHP 执行系统外部命令的函数: system() exec() passthru()区别:system() 输出并返回最后一行shell结果.exec() 不输出结果,返回最后一行shell结果,所 ...

  4. Python中的json操作

    Python中的json操作 标签(空格分隔): python 编码 json 字符串前缀问题 字符串前缀可以有r,u r:表示原始(raw)字符串,比如'\n'不会被转义.常用于正则. u:表示un ...

  5. NIO-3网络通信

    import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import ja ...

  6. vs 单元测试

    vs 2010 NOget 包 安装NUnitTDNet,下载TestDriven.NET(http://www.testdriven.net/). 准备动作 先到http://www.testdri ...

  7. 【转载】Xutils3源码解析

    Github源码地址:https://github.com/wyouflf/xUtils3 原文地址 :http://www.codekk.com/blogs/detail/54cfab086c476 ...

  8. POJ 1976 A Mini Locomotive

    $dp$. 要求选择$3$个区间,使得区间和最大.$dp[i][j]$表示前$i$个数中选择了$j$段获得的最大收益. #include <cstdio> #include <cma ...

  9. 【记录】mysql 5.7.20安装 出现...mysql-5.7.20-winx64\data\is_writable’ Errcode: 2 - No such file or directory

    新到一家公司,安装mysql5.7.20时候出现一个问题(安装步骤可以参考这个): ...mysql-5.7.20-winx64\data\is_writable’ Errcode: 2 - No s ...

  10. Django项目中模板标签及模板的继承与引用【网站中快速布置广告】

    Django项目中模板标签及模板的继承与引用 常见模板标签 {% static %} {% for x in range(x) %}{% endfor %} 循环的序号{% forloop %} 循环 ...