Я работаю на flash cs6 и AIR 14. Я разработал одно приложение, которое я хочу настроить для всех устройств Android и ios. Для этого я хочу динамически менять размер сцены в соответствии с разрешением экрана устройства. Можно ли это сделать that.if да как?Можем ли мы изменить размер сцены динамически?
ответ
Да, возможно.
Первое, что вам нужно сделать, это следующее: (как только ваше приложение имеет доступ к стадии)
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
Это сделает ваш этап не масштабируется и стать полным размером это контейнер - в в вашем случае - окно AIR.
Для мобильного AIR это обеспечит разрешение экрана устройства. Хотя по некоторым дисплеям с высокой плотностью (iPhone) по умолчанию вы можете получить половину собственного разрешения устройства, но масштабировать x2, чтобы он по-прежнему был в полноэкранном режиме. Вы можете настроить это при создании приложения в AIR, если это необходимо.
Для настольного AIR вы можете программно изменить сцену, изменив размер NativeWindow
.
stage.nativeWindow.width = 1234; //set the width of the stage's window (which will in turn set the stage size if scaleMode is NO_SCALE)
Я использую сцену размером 1350 * 768. Этот код отлично работает для разрешения почти 768 * 1024. но я установил приложение в ipad 3 с разрешением 1536 x 2048. Для этого разрешения все мувиклипы в этой игре скомпилированы, но игра видна в полное окно. Но я не хочу сжимать мувиклипы и изображения в игре. Как я могу решить, дайте мне какое-нибудь предложение. @ LDMS –
Что вы подразумеваете под «сжатым»? Вы имеете в виду, что они выглядят меньше? – BadFeelingAboutThis
Извините за поздний ответ. Например, сжатие означает, что одна ширина изображения равна 170.Если вы уменьшите ширину от 170 до 120.Но видите это изображение, как выглядите как. Уменьшите только ширину, а не height.am, получив эту форму для всех мувиклипов в игре. я получаю эту проблему для всего очень высокого разрешения, например, 1500 * 2000. Мне нужно сделать любое масштабирование? @LDMS –
Да, это технически возможно (это ответ на 99% таких вопросов). «Как» довольно широкий. Вы что-то пробовали (например, запускать проект и тестировать его на двух разных устройствах)? – Brian
Вы не изменяете размер сцены, который изменяется сам по себе из-за окружающей среды. Проверка ширины сцены на маленьком экране телефона даст другое число по сравнению с тем же кодом, что и на более крупном экране «pad». Вам нужно поместить содержимое в контейнер (movieclips) и изменить их размеры по сравнению с доступным размером сцены. –