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