EaselJS SpriteSheet与Sprite翻译

最近看到EaselJS相关内容,网上资料并不是很多,翻译一下原文档与个人理解,错误请留言,转载请标明转载出处。

SpriteSheet Class

Encapsulates the properties and methods associated with a sprite sheet. A sprite sheet is a series of images (usually animation frames) combined into a larger image (or images). For example, an animation consisting of eight 100x100 images could be combined into a single 400x200 sprite sheet (4 frames across by 2 high).

The data passed to the SpriteSheet constructor defines three critical pieces of information:

  1. The image or images to use.
  2. The positions of individual image frames. This data can be represented in one of two ways: As a regular grid of sequential, equal-sized frames, or as individually defined, variable sized frames arranged in an irregular (non-sequential) fashion.
  3. Likewise, animations can be represented in two ways: As a series of sequential frames, defined by a start and end frame [0,3], or as a list of frames [0,1,2,3].

一个精灵表是一系列图像(通常是动画帧)合并成一个大的图像。例如一个动画有8个100*100的图片组成,可以组成一个400*200的精灵表(4帧跨越2个高度)。

被传送给精灵表构造器的数据需要定义3个关键部分:

1.使用的图像

2.单独图像帧的位置,数据可以通过两种方式来表示:1:作为一个连续的规则网格,相同大小的帧;2:被设置在不规则(不连续)框架中的单独定义可变大小的帧

3.同样的动画可通过两种方式来表达:1:一系列连续的帧,通过开始结束帧定义[0,3];2:一系列帧[0,1,2,3]

SpriteSheet Format

data = { 
// 定义帧率: 
// 指定频率被设定在SpriteSheet上. 详情见帧率 
framerate: 20, 
// 定义图像:
 // 使用图像列表或路径
images: [image1, "path/to/image2.png"], 
//定义帧:
 //定义帧的简单方式:有帧是连续的,所以仅需要帧的大小,定义帧的长宽,可选的帧数及初始位置x,y,如果数量被忽略,将通过图像自动计算 
frames: {width:64, height:64, count:20, regX: 32, regY:64}, 
// 复杂的方式:为帧定义单个矩形,第五个值为images列表中的下表索引 
frames: [ 
// x, y, width, height, imageIndex, regX, regY
 [0,0,64,64,0,32,64], [64,0,96,64,0] 
], 
// 定义动画: 
// 简单动画定义:
定义一个连续的帧包含开始到结束,可以定义一个next动画继续执行(或假停止),可以定义播放速度 
animations: { 
// start, end, next, speed 
run: [0,8], jump: [9,12,"run",2] 
} 
// 复杂的方法是通过索引来指定帧
 animations: { 
run: { 
frames: [1,2,3,3,2,1] 
}, 
jump: { 
frames: [1,4,5,6,1], next: "run", speed: 2 
}, 
stand: { frames: [7] } 
} 
// 上述两种方法可以结合起来,可以使用一个单一的帧定义: 
definition: animations: {
 run: [0,8,true,2], 
jump: { 
frames: [8,9,10,9,8], next: "run", speed: 2 }, stand: 7 
} 
}

speed frequency Example实例

To define a simple sprite sheet, with a single image "sprites.jpg" arranged in a regular 50x50 grid with two animations, "run" looping from frame 0-4 inclusive, and "jump" playing from frame 5-8 and sequencing back to run:

通过布满50*50顺序网格的单一图像来定义一个简单精灵列表,有两个动画,0-4帧为奔跑,5-8帧为跳跃,之后接着奔跑

var data = { images: ["sprites.jpg"], frames: {width:50, height:50}, animations: {run:[0,4], jump:[5,8,"run"]} }; var spriteSheet = new createjs.SpriteSheet(data); var animation = new createjs.Sprite(spriteSheet, "run");

Sprite Class

Displays a frame or sequence of frames (ie. an animation) from a SpriteSheet instance. A sprite sheet is a series of images (usually animation frames) combined into a single image. For example, an animation consisting of 8 100x100 images could be combined into a 400x200 sprite sheet (4 frames across by 2 high). You can display individual frames, play frames as an animation, and even sequence animations together.

翻译:由SpriteSheet实例显示一个帧或帧序列,一个精灵列表是一系列图片(通常为动画帧)组成的单一图片,例如一个由8个100*100图像组成的动画可以被组成一个400*200的精灵序列(4帧跨越两个高度)。你可以作为动画来显示帧,播放帧,即时是在一块的有序帧

See the SpriteSheet class for more information on setting up frames and animations.

通过阅读SpriteSheet类来获取更多建立帧和动画的信息

时间: 2024-08-29 00:20:59

EaselJS SpriteSheet与Sprite翻译的相关文章

Html5游戏框架createJs组件--EaselJS(一)

现在html5小游戏越来越火爆了,由于公司业务的需要,也开发过几款微信小游戏,用canvas写的没有利用什么框架,发现性能一直不怎么好,所以楼主就只能硬着头皮去学习比较火的Adobe公司出的CreateJS框架,找了很久资料比较少,基本没什么 中文文档,很多都是英文文档(想想我这才过四级,只能借用有道,一点一点看,一点一点翻译学习),今天我就写个引子(也是在慢慢学习),写的不好,大家就不要见笑. EaselJS是CreateJS Suite中的一个js库,它可以让canvas的使用变得简单,它提

cocos2d基本类介绍 director/scene/layer/sprite

[核心类]     导演Director.场景Scene.布景层Layer.精灵Sprite的概念请移步:     导演控制场景,场景控制图层,图层控制精灵,精灵控制动作.     相互之间的关系框架如下图所示:     由此看出:         (1)整个游戏一般只有一个导演.         (2)一个游戏可以由多个场景组成(菜单界面.游戏界面.游戏结束界面等),但是每次导演只能指导一个场景的运作.         (3)一个场景可以由多个图层组成(背景层.道具层.英雄层.怪物层等,每个图

cocos2dx[3.2](8) ——核心类Director/Scene/Layer/Sprite

[核心类] 导演Director.场景Scene.布景层Layer.精灵Sprite的概念请移步: cocos2dx基础篇(3)--第一个程序HelloWorld 导演控制场景,场景控制图层,图层控制精灵,精灵控制动作. 相互之间的关系框架如下图所示:     由此看出:         (1)整个游戏一般只有一个导演.         (2)一个游戏可以由多个场景组成(菜单界面.游戏界面.游戏结束界面等),但是每次导演只能指导一个场景的运作.         (3)一个场景可以由多个图层组成(

easelJS入门、事件、spritesheet

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + &q

学习使用easelJS类库控制HTML5游戏角色的移动和跳跃

第一步:生成游戏场景中的地面 首先,需要使用Bitmap类来生成游戏中人物所处的地面效果,使用如下游戏图片: 将以上图片宽度为75px,如果将游戏区宽度设置为350px(画布宽度),克隆五个即可填满屏幕,代码如下: //克隆5个地面图片生成游戏区域的地面效果 for(i =0; i <5; i++){ var tempBlockGround = ground.clone(); tempBlockGround.x = i *70; tempBlockGround.y = stageHeight -

canvas 动画库 CreateJs 之 EaselJS(上篇)

本文来自网易云社区 作者:田亚楠 须知 本文主要是根据 createjs 中的 EaselJS 在 github 上的 tutorials 目录下的文章整理而来 (原文链接),同时也包含了很多本人的理解,如过有叙述不当的地方,请联系我 :-D 本文对原文中的一些知识点的解释进行了删减,对另外一些进行了扩展,同时对文中的 demo 进行了改写,如果感到阅读困难的话请参考原文(本文中有对应的原文链接) 如果文中提供的 demo 无法打开,可以参考原文中的 demo. 从一个简单例子开始 对应原文:G

Cocos2d-x 的3D游戏制作官方教程(中文翻译)

Cocos2d-x 在版本3开始已经支持了3D游戏开发的特性,我在官网文档看到3D开发的部分,觉得有必要记录一下,权当做学习笔记.因为只花了半天时间翻译,而且能力有限,各位看官勿喷. 本博客虽然水分很足,但是也算是博主的苦劳了,如需转载,请附上本文链接http://blog.csdn.net/cyh_24/article/details/45702343,不甚感激! 相信,你已经对Cocos2d-x有所了解,并且将它作为一种2D游戏引擎来看待.但是,从版本3开始,我们已经将3D一些特性添加到了C

【转】通过制作Flappy Bird了解Native 2D中的Sprite,Animation

作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 上一次我们讲了MonoBehaviour的前世今生,了解了游戏中的每一个GameObjec都是由脚本控制的,这一次我们开始将Unity中Native 2D中的Sprite,并且使用Animation来让Sprite动起来. 在接下来的几篇博客里,我会通过做一个Flappy Bird来讲解Unity中各个组件的使用,项目的源代码在这里:U

Createjs学习心得之使用EaselJs实现拖拽效果

寒假时跟着老师在做一个createjs+angularjs的html5应用app,因为在这之前完全没了解过createjs这个框架,所以在查找资料时发现,国外官网(http://www.createjs.com)API文档虽是详细,但对于一些英语不太好的童鞋(其实我也是一枚英语渣渣)就比较难理解了.而国内中文社区做的并不好,用户不多,资料翻译准确度不够.所以在这里,我就把我学习Createjs的一些心得体会向大家分享下: 一.什么是CreateJS? createjs是一个轻量级的javascr