这个精灵为什么会缩放?

问题描述:

这是一个非常简单的AS3项目,由一个绘制矩形的类组成。当我运行它时,矩形明显大于100x100像素。拉出头发几个小时后,我想我会问:为什么?这个精灵为什么会缩放?

编辑:我知道这是不正确的,因为尽管我的屏幕分辨率设置为1280x800,但如果将宽度设置为500,它几乎占用了我的所有屏幕。

package 
{ 
import flash.display.Sprite; 
import flash.events.Event; 

public class Draw extends Sprite 
{ 
    private var screen:Sprite; 

    public function Draw():void 
    { 
     this.addEventListener(Event.ADDED_TO_STAGE, stageHandler); 
    } 

    private function stageHandler(e:Event):void{ 
     screen = new Sprite(); 
     screen.graphics.clear(); 
     screen.graphics.beginFill(0x333333,.9); 
     screen.graphics.drawRect(0,0,100, 100); 

     screen.graphics.endFill(); 
     addChild(screen); 
     trace(stage.width + "," + stage.height); 
    } 
} 
} 

Screenshot of 500x500, with my full screen width of 1280 behind

+0

当我在一个新的SWF([截图](http://i.stack.imgur.com/RUV51.png))中运行你的代码时,它显示为100x100 ......你的精灵尺度有多大至? – BoltClock

+0

嗨 - 看到我的编辑,上面。如果我将它设置为500x500,它几乎占用了我的所有屏幕。它的宽度接近于1000.我在Flash Builder中运行它。谢谢,大卫。 – David

不知你的scaleMode settigns您的Flash播放器从FlashBuilder一个陌生的模式设置。

尝试在stageHandler功能设置

stage.scaleMode = StageScaleMode.NO_SCALE; 

。你的代码没有错误。问题出在您的发布预览设置。

+0

是的,就是这样,谢谢。我不知道是否因为忘记而对自己生气,或者因为Flash需要这样一个明显的设置。 – David