Crafty.isometric
将实体放置在45度的空间中。这个网格的轴向位置的对齐是90度。如果你想要有这种瓦片的格子。放置在瓦片上的位置,用等分线代替。
方法
Back to top
Crafty.isometric.area()
public Object Crafty.isometric.area()
- [Returns]
一个带有
x
andy
字段的对象,每个字段都有一个开始和结束字段。换句话说,对象有这个结构:{x:{start Number,end Number},y:{start Number,end Number}}
该方法返回一个表示视口边界的对象
例子
var iso = Crafty.isometric.size(128,96).centerAt(10,10); //Viewport is now moved
var area = iso.area(); //get the area
for(var y = area.y.start;y <= area.y.end;y++){
for(var x = area.x.start ;x <= area.x.end;x++){
iso.place(x,y,0,Crafty.e("2D,DOM,gras")); //Display tiles in the Screen
}
}
Back to top
Crafty.isometric.centerAt()
public Obect Crafty.isometric.centerAt()
- [Returns]
一个带有
top
和left
的对象,表示视口当前中心。
public this Crafty.isometric.centerAt(Number x, Number y)
- x
x位置的中心位置
- y
y位置的中心位置
该方法将视口放在一个x,y
位置,或给出视口的当前中心点。
例子
var iso = Crafty.isometric.size(128,96).centerAt(10,10); //Viewport is now moved
//After moving the viewport by another event you can get the new center point
Crafty.log(iso.centerAt());
Back to top
Crafty.isometric.place()
public this Crafty.isometric.place(Number x, Number y, Number z, Entity tile)
- x
放置瓦片的
x
轴位置
- y
放置瓦片的
y
轴位置
- z
放置瓦片的
z
轴或高度位置
- tile
应该以等距方式定位的实体
使用这种方法将一个实体放置在一个等距网格中。
例子
var iso = Crafty.isometric.size(128);
iso.place(2, 1, 0, Crafty.e('2D, DOM, Color').color('red').attr({w:128, h:128}));
例子
Back to top
Crafty.isometric.pos2px()
public Object Crafty.isometric.pos2px(Number x,Number y)
- x
沿x轴的位置
- y
沿y轴的位置
- [Returns]
一个有
left
和top
字段的对象 {left Number,top Number}
该方法将x和y坐标中的位置转换为像素点
例子
var iso = Crafty.isometric.size(128,96);
var position = iso.pos2px(100,100); //Object { left=12800, top=4800}
Back to top
Crafty.isometric.px2pos()
public Object Crafty.isometric.px2pos(Number left,Number top)
- top
顶部偏移的像素
- left
左边偏移的像素
- [Returns]
一个带有
x
andy
字段表示这个位置的对象
这个方法将一个像素的位置转换为x,y坐标
例子
var iso = Crafty.isometric.size(128,96);
var px = iso.pos2px(12800,4800);
Crafty.log(px); //Object { x=100, y=100}
Back to top
Crafty.isometric.size()
public this Crafty.isometric.size(Number tileSize)
- tileSize
瓦片的大小。
方法用于初始化等距位置的大小。建议使用2(128、64或32)的大小值。这使得计算位置和实现缩放变得很容易。
例子
var iso = Crafty.isometric.size(128);