2011-05-10 77 views
1

我正在用FlashPunk制作Flash游戏。当我按下Ctrl + F时,Flash会全屏显示,但游戏保持原始大小,并与左上角对齐。全屏缩放FlashPunk游戏

如何指定FlashPunk,我希望游戏的缩放比例达到屏幕大小? (保持纵横比,偏离航向)

感谢

回答

0

扩展您的Flash影片将显著降低性能。我敦促你不要以任何理由这样做。我不知道什么闪光朋克,但尝试使用这样的:

stage.scaleMode = StageScaleMode.SHOW_ALL; 
+0

这是一个游戏库:http://flashpunk.net/。可悲的是你给我的代码不起作用。 – 2011-05-11 00:36:47

0

你可以挂接到调整大小事件和代码

//put this in your initialization method 

stage.align = StageAlign.TOP_LEFT; 
stage.scaleMode = StageScaleMode.NO_SCALE; 
stage.addEventListener(Event.RESIZE, onResize); 
stage.dispatchEvent(new Event(Event.RESIZE)); 


public function onResize(event:Event=null):void 
{  

    width = stage.stageWidth; 
    height = stage.stageHeight; 

    if (scaleX < scaleY) 
     scaleY = scaleX; 
    else 
     scaleX = scaleY; 

} 
0

要做到这一点,最好的办法缩放,是覆盖setStageProperties公共职能在主类(在FlashPunk,主类应延长发动机类)

override public function setStageProperties():void 
{ 
    super.setStageProperties(); 
    stage.scaleMode = StageScaleMode.SHOW_ALL; 
} 
0

查看flashpunk中的FP类。特别是FP.screen.scale,它可以让您按指定的因子调整整个游戏的大小。例如,下面的代码将增加一倍,你的游戏画面尺寸:

FP.screen.scaleY = 2; 
FP.screen.scaleX = 3; 

FP.screen.scale = 2;

如果你需要担心的纵横比,可以分别用做X和Y进入全屏后,您可以使用下面的代码来获得正确的高宽比以放大屏幕:

var scaleFactorX = stage.stageWidth/FP.screen.width; 
    var scaleFactorY = stage.stageHeight/FP.screen.height; 
    FP.screen.scaleX = scaleFactorX; 
    FP.screen.scaleY = scaleFactorY;