cocos2d-x中描述精灵帧图片的plist和json文件各个key的含义

最近在研究cocos,互联网行业中,手游业最近的表现是非常的火,加上本身对游戏有浓厚兴趣,所以便染指了游戏引擎~

这次的废话就这么简短吧,因为这次记录的东西本身就很少。

在cocos中,为精灵帧添加缓存可以通过下面的方法

cc.spriteFrameCache.addSpriteFrames(url, texture)

其中,第一个参数是一个 plist 或者 json 文件的路径,第二个参数是一个纹理图片对象,一般不传就可以了

添加了精灵帧缓存后,我们就可以通过下面的方法来创建精灵

new cc.Sprite("#帧名")

当中的帧名就配置在 plist 或者 json 文件中,当然,plist 或者 json 文件描述的不单单是帧名,还有每一个帧对应的是图片中的哪一部分

下面是一个最简单的 plist 文件实例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>frames</key>
  <dict>
    <key>icon001</key>
    <dict>
      <key>frame</key>
      <string>{{0,0},{240,240}}</string>
      <key>offset</key>
      <string>{0,0}</string>
      <key>rotated</key>
      <false/>
      <key>sourceColorRect</key>
      <string>{{0,0},{240,240}}</string>
      <key>sourceSize</key>
      <string>{240,240}</string>
    </dict>
  </dict>
  <key>metadata</key>
  <dict>
    <key>format</key>
    <integer>2</integer>
    <key>realTextureFileName</key>
    <string>b01.png</string>
    <key>size</key>
    <string>{240,240}</string>
    <key>textureFileName</key>
    <string>b01.png</string>
  </dict>
</dict>
</plist>

再来一个 json 的实例

{
    "frames" : {
        "icon001" : {
            "frame" : "{{2,0},{640,305}}",
            "offset" : "{0,0}",
            "rotated" : false,
            "sourceColorRect" : "{{0,0},{640,305}}",
            "sourceSize" : "{640,305}"
        },
        "icon002" : {
            "frame" : "{{2,625},{320,182}}",
            "offset" : "{0,0}",
            "rotated" : false,
            "sourceColorRect" : "{{0,0},{320,182}}",
            "sourceSize" : "{320,182}"
        }
    },
    "metadata" : {
        "format" : 2,
        "realTextureFileName" : "ui_new_icon_png.png",
        "size" : "{1024, 1024}",
        "textureFileName" : "ui_new_icon_png.png"
    }
}
时间: 2024-08-25 16:13:04

cocos2d-x中描述精灵帧图片的plist和json文件各个key的含义的相关文章

怎么才能在EDIUS中输出静帧图片

很多时候,我们在编辑视频时会截取好看的或有意义的图片做成示意图等,使用EDIUS非线性编辑软件剪辑视频的小伙伴们也许要问了,这个问题在EDIUS中可操作么?答案是肯定的.下面,小编就来给大家分享EDIUS输出静帧图片的操作步骤. 查看更多内容请直接前往:http://www.ediuschina.com/xinshou/shuchu-jingzhentupian.html 方法一 使用快捷键“Ctrl+T”,可以将时间线标尺所在画面保存为图片. 需要注意的是,输出的EDIUS静帧图片默认格式是按

vue+webpack项目中使用dev-server搭建虚拟服务器,请求json文件数据,实现前后台分离开发

在项目开发中,前后台分离,做了假数据,项目使用vue2.0重构,后台也推到重来了,为了不耽误开发进程,我做了虚拟的数据请求,使用vue-cli脚手架搭建的项目文件中dev-server搭建虚拟api请求,访问自己mock的假数据虚拟请求后台的模式,具体做法如下 在build/dev-server.js文件中 在var app = express()这个实例的下面添加如下代码 // 本地json-server服务器搭建代码 // 引入数据库文件 var appData = require('../

python爬虫简单实现,并在java中调用python脚本,将数据保存在json文件中

# coding:utf-8 import urllib2 from bs4 import BeautifulSoup import json import sys reload(sys) sys.setdefaultencoding('utf-8') class dataBean(object) : def __init__(self, title, url,date): self.date = date self.url = url self.title = title def obj_2_

SpriteFrameCache 精灵帧缓存

//获取精灵帧缓存的单例对象 auto  spriteFrameCache = SpriteFrameCache::getInstance(); //从plist文件添加多个精灵帧 spriteFrameCache->addSpriteFrameWithFile("XX.plist"); //根据图片名称创建一个精灵帧 auto sprite1Frame =spriteFrameCache->getSpriteFrameByName("xxx.png")

[转]nodejs中package.json和package-lock.json文件的功能分析

本文转自:https://blog.csdn.net/u013992330/article/details/81110018 最新版nodejs中,多了一个package-lock.json文件,刚开始对这个文件很是疑惑,后来查了一番资料后,通过验证,终于确定了这两个文件的关系. package.json与package-lock.json文件的作用package.json文件记录你项目中所需要的所有模块.当你执行npm install的时候,node会先从package.json文件中读取所有

Cocos2d-x Lua中实例:帧动画使用

下面我们通过一个实例介绍一下帧动画的使用,这个实例如下图所示,点击Go按钮开始播放动画,这时候播放按钮标题变为Stop,点击Stop按钮可以停止播放动画. 帧动画实例 下面我们再看看具体的程序代码,首先看一下看GameScene.lua文件,它的代码如下: [html] view plaincopy local isPlaying = false -- 播放标识                                                                    

Cocos2d-x Lua中Sprite精灵类

Cocos2d-x Lua中Sprite精灵类 精灵类是Sprite,它的类图如下图所示. Sprite类图 Sprite类直接继承了Node类,具有Node基本特征.此外,我们还可以看到Sprite类的子类有:PhysicsSprite和Skin.PhysicsSprite是物理引擎精灵类,Skin是皮肤精灵类用于骨骼动画.创建Sprite精灵对象创建精灵对象有多种方式,其中常用的函数如下:cc.Sprite:create ().创建一个精灵对象,纹理[ 纹理(texture),表示物体表面细

如何在html5的canvas画布中绘制gif动态图片

我们都知道如何在html5的canvas画布上绘制静态图片(jpeg, png等),直接用canvas中的drawImage方法即可,那么如何绘制动态图片(gif)? 相信大家都知道动态图片之所以动态,是因为它是由很多图片按一定的帧数顺序播放而成的,因此我们是否也可以模拟这样的帧数,每隔一定的时间重新 绘制图片,就能画出动态图片呢?答案当然是YES.下面就是我自己测试的一个例子,代码如下: 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 &l

视频直播:libx264编码一帧图片+live555搭建RTSP流媒体服务器

最近又复习了一下live555的源代码,并在VS2013下编译了视频直播程序. 从视频读取一帧后x264编码,用live555的RTSP传输流媒体. 效果清晰流畅(640*480+40帧每秒),很满意. 附上主要的cpp代码 /* H264FramedLiveSource.cpp By Chain_Gank */ #include <highgui.h> #include <cv.h> #include <stdio.h> #include <string.h&g