Ошеломляющая флеш-панк-игра для полноэкранного режима

#flash #fullscreen

#вспышка #полноэкранный

Вопрос:

Я делаю флеш-игру с использованием FlashPunk. Когда я нажимаю Ctrl F, Flash переходит в полноэкранный режим, но игра остается в исходном размере, выровненная по верхнему левому углу.

Как я могу указать FlashPunk, что я хочу, чтобы игра была увеличена до размера экрана? (сохраняя соотношение сторон, отклоняясь от курса)

Спасибо

Ответ №1:

Вы можете управлять масштабированием атрибутов ОБЪЕКТА при встраивании Flash в HTML. Используйте scale=default для масштабирования с сохранением соотношения сторон. Когда вы запускаете Flash в плеере, используйте пункт меню View-> Show All, который функционирует так же, как scale=default в OBJECT в HTML.

Ответ №2:

Масштабирование вашего флэш-фильма значительно снизит производительность. Я настоятельно призываю вас не делать этого ни по какой причине. Я не уверен, что такое флеш-панк, но попробуйте использовать это:

 stage.scaleMode = StageScaleMode.SHOW_ALL;
  

Комментарии:

1. Это игровая библиотека: flashpunk.net . К сожалению, код, который вы мне дали, не работает.

Ответ №3:

Вы могли бы подключиться к событию изменения размера и масштабировать его в коде

 //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;

}
  

Ответ №4:

Лучший способ сделать это — переопределить общедоступную функцию setStageProperties в вашем основном классе (во FlashPunk ваш основной класс должен расширять класс движка)

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

Ответ №5:

Взгляните на класс FP во flashpunk. В частности, 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;