У меня возникли проблемы с попыткой корректно изменить размер как «Away3d Gold», так и «Starling» в stage3d, которые работают в одной игре.
У меня есть 4 экземпляра Starling и 1 экземпляр Away3d, которые обрабатываются stage3dProxys.
Все это работает СОВЕРШЕННО на начальном размере. Проблемы начинаются при изменении размера игры в браузере.
В конце файл .swf игры будет загружен другим родительским файлом .swf , но когда игра загружается непосредственно в собственный HTML-шаблон, происходит то же самое.
Что у меня есть на данный момент:
stage.addEventListener( Event.RESIZE, onResize, false, 0, true );
private function onResize(event:Event):void {
_stage3DProxy.width = stage.stageWidth;
_stage3DProxy.height = stage.stageHeight;
}
Это работает для скворцов, но не для 3D-экземпляров. И не отображаются вырезанные изображения, которые должны быть за пределами сцены.
Я также безуспешно пытался:
starling.stage.stageWidth = this.stage.stageWidth;
starling.stage.stageHeight = this.stage.stageHeight;
var viewPort:Rectangle = RectangleUtil.fit(
new Rectangle(0, 0, stage.stageWidth, stage.stageHeight),
new Rectangle(0, 0, stage.fullScreenWidth, stage.fullScreenHeight),
ScaleMode.NO_BORDER);
Starling.current.viewPort = viewPort;
Я хочу добиться того, чего вы достигаете в традиционном Flash, когда устанавливаете размер в «процентах», масштабируете на: "NO_BORDER"
и выравниваете на: "Top Center"
с минимальной высотой и шириной.
Как этого добиться?
Спасибо
Матей