Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Stage контроль размеров (http://www.flasher.ru/forum/showthread.php?t=211330)

Godwarlock 06.08.2015 01:06

Stage контроль размеров
 
У меня stage после загрузки игрового мира имеет примерно следующие значения
stage.width = 3500;
stage.heigth = 3000;

При том, что задан изначально в компиляторе размер 1000х730. Выше указанный код, определяет всю ширину и высоту всех объектов вместе взятых я так понял. Так и должно быть?

illuzor 06.08.2015 01:11

Может вам нужны свойства stage.stageWidth/stage.stageHeight?
stage.width/stage.heigth показывают размеры сцены, как контейнера.

Godwarlock 06.08.2015 01:51

Да спасибо. Вот только столкнулся с проблемкой. Хочу сделать фиксированный полный экран
Код AS3:

stage.fullScreenSourceRect = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight); 
stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;

Открывается полный экран и возникает два бага.
1)Верхняя часть игрового интерфейса чуть обрезается(в нормальном режиме ничего не обрезается).
2)Упало качество картинки.
С чем это связано?

Добавлено через 7 минут
Первую проблему решил как ни странно, перекомпилил проект в 16 версию плеера. Вторая еще актуальна

caseyryan 06.08.2015 09:55

Цитата:

2)Упало качество картинки.
С чем это связано?
С тем, что картинка просто растягивается. Абсолютно нормальное поведение. Из маленького нельзя сделать большое без потерь. Если это конечно не вектор.

Nokard 06.08.2015 10:11

Цитата:

Сообщение от Godwarlock (Сообщение 1185502)
2)Упало качество картинки.

Первую проблему решил как ни странно, перекомпилил проект в 16 версию плеера. Вторая еще актуальна

Данная проблема решается довольно просто: надо векторизовать* растровое изображение.
  1. На сцене выделяем растровую картинку.
  2. Далее идём во вкладку Модификация->Растровое изображение->Векторизация...
  3. Конвертим полученное в мувиклип(или графику, или кнопку - смотря, что вам надо).
  4. ????
  5. PROFIT

*С рисунками, где нет особых градиентов работает на "ура". На обычных фотографиях не проверял.

caseyryan 06.08.2015 10:28

Цитата:

Данная проблема решается довольно просто: надо векторизовать* растровое изображение.
Во-первых качество ее никак не улучшится от этого. Во-вторых вся эта система сразу же начнет дико тормозить. Если есть выбор использовать растр или вектор и производительность имеет значение, то однозначно надо выбирать растр.

А проблему эту надо решать не растягиванием картинки, а "резиновым" дизайном. Проще говоря не увеличивать размеры объектов, а расставлять их в соответствующие места на экране, чтобы экран заполнялся

Nokard 06.08.2015 10:39

Цитата:

Сообщение от caseyryan (Сообщение 1185512)
Во-первых качество ее никак не улучшится от этого. Во-вторых вся эта система сразу же начнет дико тормозить. Если есть выбор использовать растр или вектор и производительность имеет значение, то однозначно надо выбирать растр.

А проблему эту надо решать не растягиванием картинки, а "резиновым" дизайном. Проще говоря не увеличивать размеры объектов, а расставлять их в соответствующие места на экране, чтобы экран заполнялся

Пожалуй, вы правы.

caseyryan 06.08.2015 10:43

Или еще один вариант (но подходит скорее для мобил и десктопов) - хранить несколько паков графики разного разрешения. И выбирать соответствующий, в зависимости от разрешения экрана.

С векторной тоже часто делают, но тут как раз используется растеризация, через BitmapData#draw().
Просто прикрепляют к проекту изначально векторные картинки, увеличивают их до нужного размера и после этого растеризуют.
Тут уж, какой вариант удобнее. Я паки графики использую, потому что растровую графику можно красивее нарисовать

Godwarlock 07.08.2015 00:38

Хм. А нормально ли вариант будет, составить список разрешение от 800*600, до 1920*1080, на каждое разрешение хранится конфиг с координатами нужных элементов интерфейса. Делать stage noscale-вским при фул скрине и загружать нужную конфигурацию, по которой меняется расстановка объектов. Таким образом из-за stage.fullScreenSourceRect качество не упадет, он просто не будет нужен.


Часовой пояс GMT +4, время: 12:03.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.