2011-05-10 79 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;