二、基础资源:frame
来源:互联网 发布:oa系统 mac 编辑:程序博客网 时间:2024/06/05 04:15
一、概念
frame和cocos里的sprite很接近,是绘制的最小单元;
美术做好一张张的图片,用比如TexturePacker导出成.plist文件,cocos里有专门的接口来读取和绘制这个文件所切割的一个个图形单元,在cocos中,这样的最小单元称之为sprite;frame也是如此,.plist就是配置文件;
frame和sprite的不同在于对区域/锚点的理解;
我们设定一个图形资源,原始图片分辩率为256*256,非透明区域所占矩形为100*100,这个非透明区域的左下角距离整个图片的左下角的偏移为15*143,如下所示:
2-1
这些数据所绘制的图形,在没有任何偏移的情况下,非透明区域将被绘制在0,0点的偏左上些的位置,因为默认情况下,cocos的锚点是0.5,0.5,也就是整个图片的中心与坐标轴的0,0点重合,绘制效果如图:
2-2
在不主动设置锚点的情况下,frame和sprite绘制出来的效果一致,frame会套用sprite的默认效果,但是一旦主动设置锚点后,结果就不同了;
主动设置锚点的情况下,sprite所参照的是整个图片,即256*256作为整体;frame所参照的是非透明区域,即100*100这个区域;
那么主动设置0.5,0.5后,sprite所绘制出的结构和上面看到的一样,frame却不同,绘制出的效果是非透明区域的中心和坐标轴的0,0点重合,如下所示:
2-3
在frame的概念里,美术做好的一张图片,数据的意义是非透明区域的size以及这个区域的中心和整个图片中心的相对偏移,属性数据如下:
2-4
frame对区域/锚点的理解,设置锚点之后理所当然的会出现一个问题,美术所设置的偏移信息就丢失了,那么这个问题是怎么理解和处理的呢?我们先来看看美术制作图片资源时,会出现图片比有效区域大的原因:
1、方便放置;
- 根据.plist文件的特点,美术在做单张图片的时候,没有必要为每张图片都设置合适的大小,完全可以把原始资源全部定义为比如512*512的图片,把需要的内容放进去,留下大量的空白透明区域是没有关系的,合成正图时这部分空区域不会占用空间;
- 这种情况下,美术并没有设置偏移信息,资源的位置是随意放置的,frame的设计是很合适的;
2、对位置;
- 在有些情况下,比如帧动画,美术是可以通过一些工具导出一系列的图片,这些图片中的非透明区域所在的位置是很有意义的,它们已经是一张张对好位置的图片,单纯的连续切换就能得到所需的动画效果;
- 对于这种情况,不能去对frame设置锚点,功能层有对应的action概念去处理,需要设置锚点时,应该对action设置,而不是对一个个的frame设置;
二、工具
在工具中可以查看frame的数据,但是不能修改数据,因为这些数据在美术做好后就固定下来了,没有修改的意义,效果如图:
2-5
双击文件会打开该文件的查看/编辑窗口;
单击文件会打开下面的预览窗口(预览窗口可以切换为独立窗口)
关于预览窗口:
- 预览窗口目前可显示3类文件:frame、module、action;
- 每类文件有自己的专属窗口,每类窗口只显示一个文件,通过单击不同的文件来替换显示;
- 附属在下边栏时,一次只能看到一种文件,可切换;浮动出来后是分开的独立窗口,互不影响;
- 部分添加资源的操作,可以通过先打开被添加文件的预览,双击预览窗内的对应资源来快速添加;
- 预览窗有两栏文字提示:FileName显示预览文件的路径;DataName是当鼠标移到资源上后,显示该资源的名字;
- 预览窗获得鼠标焦点时,可通过鼠标滚轮放大和缩小资源的显示格,资源的显示原则是资源左上角与显示格左上角重合(不论资源本身的偏移),当显示格足够大时,会出现红白相间的线框(以此提示用户该资源的实际大小与看到的大小一致,未出现则表示看到的比实际的要小);当显示格不足以容纳该资源时,资源会被等比缩放到合适的大小保证被完整显示;
- 预览action资源时,普通情况下资源停在第一帧显示,鼠标移到显示格内时,该动画会播放,循环动画会循环播放;非循环动画只播放一次,结束后停在最后一帧,鼠标移出时回到第一帧;
- 二、基础资源:frame
- <Android 基础(二十五)> Frame Animation
- Android基础夯实--重温动画(二)之Frame Animation
- Android基础系列之资源(二)
- Android基础篇(二)资源
- 动画效果二 ----Frame Animation
- 汇编语言基础二 —— CPU资源和存储器
- [ZZ] wxPyhon之Frame (二)
- s3c6410_LCD & frame buffer 驱动分析(二)
- android动画实现-Frame animation(二)
- x264 frame级函数流程图(二)
- webkit调试之二--初始化frame
- java中的 JFrame 与 Frame(二)
- x264 frame级函数流程图(二)
- android开发动画总结二(frame animation)
- Animation动画(二)---- Frame 帧动画
- RobotFramework学习笔记二:遇到Frame框架
- Frame-Relay基础及配置学习笔记
- linux下 virtualbox不能使用usb设备
- TC HTB流量控制
- 网站优化应以达成转化为目的!
- poj2385-dp经典
- 第二章(3)自定义控件
- 二、基础资源:frame
- zigbee学习笔记---Channel、PANID、发射功率及其它参数
- 网络推广论坛营销的威力!
- Linux流量控制--过滤器&分类
- Netty服务器线程模型概览
- Linux流量控制--排队规则
- servlet的URLDecoder.decode遇上javascript中的encodeURI
- 近期总结:从业SEO的这些日子我收获了什么?
- 第二章(4)HTML控件