Crafty.sprite()
public this Crafty.sprite([Number tile, [Number tileh]], String url, Object map[, Number paddingX[, Number paddingY[, Boolean paddingAroundBorder]]])- tile
精灵地图的大小,默认为1
- tileh
瓦片的高度,如果提供,瓦片的宽度也将使用此值。
- url
精灵图片的URL
- map
一个对象,其中键将作为一个新组件,而值指向精灵地图中的位置。
- paddingX
瓦片间的水平距离,默认为0
- paddingY
瓦片间的垂直距离,默认为 paddingX.
- paddingAroundBorder
是否在精灵序列的边框周围应用填充。是否设置第一块的开始为(paddingx,paddingy)而不是(0,0)。默认为false。
基于对象映像中的位置生成组件,以便应用于实体。
接收一个瓦片大小,URL和名字映射的精灵以及它的位置。
该位置必须是一个数组,其中包含精灵的位置,其中索引0是x的位置,1是y的位置,可选的2是宽度,3是高度。如果精灵地图有填充,则传递x填充或y填充的值。如果它们是一样的,只需添加一个值。
如果精灵图像没有一致的瓦片尺寸,则需要传递1个或无参数以供瓦片大小使用。
添加生成组件的实体也给出2D组件,以及一个名为Sprite的组件。
例子
Crafty.sprite("imgs/spritemap6.png", {flower:[0,0,20,30]});
var flower_entity = Crafty.e("2D, DOM, flower");第一行创建了一个关联到 spritemap6.png 的子图像 ,顶点坐标为 (0,0),宽度为 20 像素,高度为 30 像素,叫做 flower 的组件。
第二行创建了一个具有该图像的实体。(注意: 2D 在这里不是必须的, 因为添加 flower 组件会自动添加
2D 组件。)
Crafty.sprite(50, "imgs/spritemap6.png", {flower:[0,0], grass:[0,1,3,1]});在这个例子中,flower 组件为像素 0 <= x < 50, 0 <= y < 50,
grass 组件为 0 <= x < 150, 50 <= y < 100. (3 的意思是宽度为3个瓦片,即 150像素。)
Crafty.sprite(50, 100, "imgs/spritemap6.png", {flower:[0,0], grass:[0,1]}, 10);在这个例子中,每个瓦片的大小为 50x100,瓦片间的空白为 10 像素。所以 flower 为像素 0 <= x < 50, 0 <= y < 100, 并且 grass 为像素 0 <= x < 50, 110 <= y < 210.
google groups
starwed@gmail.com
github