Хорошо, я программирую на ActionScript 3, используя flex в качестве компилятора.У меня есть большой PNG-файл размером 16x16, который в основном представляет собой квадратный контур:
http://wiki.urbandead.com/images/1/1c/Square.gif
Но в более заметных цветах.
Я хочу нарисовать сетку из этих квадратов размером 11x11, поэтому я использую их для циклов:
for (i1 = 0; i1 < 11; i1 ++)
{
for (i2 = 0; i2 < 11; i2 ++)
{
new OBJECT_tile().CREATE(CONTAINER,32 + 16*i1,32 + 16*i2);
}
}
Где функция CREATE () создает новый объект мозаики с контейнером CONTAINER сс заданными координатами x и y.
public class OBJECT_tile extends Sprite
{
public var X:Number; public var Y:Number;
public var DEPTH:int = 10 ;
public var SPRITE:Sprite = new Sprite();
public var BITMAP:Bitmap;
public var CONTAINER:Sprite = new Sprite();
[Embed(source = 'TILE.png')]
private var CLASS_IMAGE:Class;
private var IMAGE:Bitmap = new CLASS_IMAGE();
public function CREATE(CONTAINER:Sprite,X:Number,Y:Number):void
{
var DATA:BitmapData = new BitmapData(16,16,true,0);
DATA.draw(IMAGE);
BITMAP = new Bitmap(DATA);
BITMAP.smoothing = false;
addChild(BITMAP);
this.CONTAINER = CONTAINER;
(CONTAINER as MAIN).INSTANCE_LIST[(CONTAINER as MAIN).INSTANCE_LIST.length] = this;
this.X = X; BITMAP.x = this.X;
this.Y = Y; BITMAP.y = this.Y;
DRAW();
}}
Однако по какой-то причине плитки растягиваются вдвое по размеру (32x32 вместо 16x16) и имеют тенденцию складываться или растягиваться в зависимости от того, сколько вкладок я открыл вмой браузерСкопление также не является последовательным, например, плитки могут для группы 3х3, это прекрасно, но тогда рядом с этой группой будет просто линия испорченных плиток (действительно трудно описать).Почему это происходит?