AS3位图太大且放置不当

时间:2011-03-30 23:58:37

标签: actionscript-3

好吧我正在使用flex作为编译器编写动作脚本3。我有一个16x16大的PNG文件,基本上是这样的方形轮廓:

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()函数使用具有给定x和y坐标的容器CONTAINER创建新的tile对象。

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),并且根据我在浏览器中打开了多少个标签,它们会聚集或展开。聚合也不一致,例如,瓷砖可能对于3x3组来说完全没问题,但是那个组旁边只会有一行混乱的瓷砖(真的很难描述)。为什么会这样?

1 个答案:

答案 0 :(得分:0)

好吧我明白了。事实证明,as3将尝试扩展背后的东西,我猜这是Adobe的ide的一种坚持(我在记事本++中讨厌这个东西和程序)。无论如何你坚持这个:

stage.scaleMode = StageScaleMode.NO_SCALE;

在您的主要功能中,除非您另有说明,否则它将阻止缩放。