Флеш игра на 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 = "";