AS3:(0,0)图形未从左上角开始



我是AS3的新手,在浏览器中使用Shape和Sprite对象并播放一些动画。我注意到的第一件事是,如果我的浏览器宽度超过725像素,(0,0)处的对象会从右边开始,但会沿着顶部边缘。如果浏览器的宽度小于725像素,则(0,0)处的对象会粘在左边缘,但会向下移动页面并变小。

这是怎么回事?我的理解是"drawRect(0,0,50,50)"应该在左上角制作一个50像素乘50像素的正方形。我改变了舞台的颜色,这样我就可以确保它不会移动,也不会。。。形状在舞台内移动。

这里有一个例子:

package
{
import flash.display.Shape;
import flash.display.Sprite;
public class Game extends Sprite
{
public function Game()
{
stage.color = 0xAAAAAA;
var shape:Shape = new Shape();
shape.graphics.beginFill(0x000000,1);
shape.graphics.drawRect(0,0,50,50);
shape.graphics.endFill();
stage.addChild(shape);
}
}
}

非常感谢您的帮助!我只是想了解发生了什么,以及如何"锁定"页面,以便坐标和大小将以相对于舞台的恒定像素进行测量。

我拍了一张GIF只是为了确保你知道我在说什么。。。很抱歉,由于某种原因,它的动作很快,但它应该能让人明白这一点:http://s17.postimg.org/m7j02pswf/Cropper_Capture_5.gif

尝试添加这两行:

stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.color = 0xAAAAAA;

最新更新