Флеш игра на AIR to Android/OUYA: сделать ее полноэкранной на телевидении

В настоящее время я портирую Flash-игру на OUYA (устройство на платформе Android) через Adobe Air.

Большая часть работы уже выполнена; он упакован и работает на устройствах Android.

Тем не мение! Это застряло в крошечном уголке на экране, как видно на этой картинке

Я хочу, чтобы игра масштабировалась до полного размера экрана, сохраняя соотношение сторон. Я видел, как это делают другие игры Flash to Air для Android, так что я знаю, что это возможно, я просто не знаю как.

У кого-нибудь есть советы? Спасибо!

2 ответа

Решение

Читайте на stage.scaleMode:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Stage.html

Это должно быть именно то, что вам нужно.

Другой вариант сохранения соотношения сторон - если у вас есть родительский контейнер, в котором хранится все, масштабируйте его под себя:

var widthRatio:Number = stage.stageWidth / BASE_WIDTH;
var heightRatio:Number = stage.stageHeight / BASE_HEIGHT;

if (widthRatio < heightRatio)
{
    container.scaleX = container.scaleY = widthRatio;
}
else
{
    container.scaleX = container.scaleY = heightRatio;
}

В этот момент вы можете центрировать контейнер на сцене:

container.x = (stage.stageWidth - container.width) /2;
container.y = (stage.stageHeight - container.height) / 2;

Или сделать что-то еще с этим.

Оказывается, все, что мне нужно, чтобы это работало, это две строки кода:

stage.scaleMode = StageScaleMode.SHOW_ALL;
stage.align = "";
Другие вопросы по тегам