Crafty.isometric

将实体放置在45度的空间中。这个网格的轴向位置的对齐是90度。如果你想要有这种瓦片的格子。放置在瓦片上的位置,用等分线代替。

方法

Back to top

Crafty.isometric.area()

public Object Crafty.isometric.area()
[Returns]

一个带有x and y字段的对象,每个字段都有一个开始和结束字段。换句话说,对象有这个结构: {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]

一个带有topleft的对象,表示视口当前中心。

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]

一个有 lefttop 字段的对象 {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 and y字段表示这个位置的对象

这个方法将一个像素的位置转换为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);

参见