缩放FlashPunk游戏全屏

时间:2011-05-10 23:46:28

标签: flash fullscreen

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

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

由于

5 个答案:

答案 0 :(得分:1)

你可以control scaling in OBJECT attributes when you embed the Flash into HTML。使用scale=default缩放维护宽高比。在播放器中运行Flash时,使用菜单项View-> Show All,其功能与HTML中的OBJECT中的scale=default相同。

答案 1 :(得分:0)

缩放Flash动画会显着降低性能。我劝你不要出于任何原因这样做。我不确定闪光朋克是什么,但尝试使用它:

stage.scaleMode = StageScaleMode.SHOW_ALL;

答案 2 :(得分: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;

}

答案 3 :(得分:0)

执行此操作的最佳方法是覆盖主类中的setStageProperties公共函数(在FlashPunk中,您的主类应该扩展Engine类)

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

答案 4 :(得分:0)

看看flashpunk中的FP类。特别是FP.screen.scale,它允许您按指定因素调整整个游戏的大小。例如,下面的代码将使游戏屏幕的大小翻倍:

FP.screen.scale = 2;

如果您需要担心纵横比,可以分别使用以下内容执行X和Y:

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

进入全屏后,您可以使用以下代码获取正确的宽高比以放大屏幕:

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