Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.10.2013, 18:13
slavnovik вне форума Посмотреть профиль Отправить личное сообщение для slavnovik Найти все сообщения от slavnovik
  № 1  
Ответить с цитированием
slavnovik

Регистрация: Jun 2013
Сообщений: 50
По умолчанию Картинка теряет качество при увеличении

Добрый день, у меня есть приложение во флеше, которая загружаю внешнюю картинку
код:

Код AS3:
var logoloader:Loader = new Loader();
 
logoloader.load(new URLRequest("logo.png" ));
helpers_logo.addChild(logoloader);
Картинка растровая, следовательно, когда пользователь увеличивает размеры флешки, то картинка тоже увеличивается и теряет кач-во. Можно ли в as3 сделать так, что картинка не меняла размеры, если менять размеры флешки?

П.с. Админы, скорее всего заголовок не очень точный, но как назвать по-другому не знаю.

Старый 05.10.2013, 18:42
C4Grey вне форума Посмотреть профиль Отправить личное сообщение для C4Grey Найти все сообщения от C4Grey
  № 2  
Ответить с цитированием
C4Grey

Регистрация: May 2007
Сообщений: 181
Отправить сообщение для C4Grey с помощью ICQ Отправить сообщение для C4Grey с помощью Skype™
Нужно настроить Stage(получить доступ к экземпляру Stage можно через соответствующее свойство stage любого DisplayObject-а):
Код AS3:
stage.scaleMode = StageScaleMode.NO_SCALE;
Устанавливает режим масштабирования контента, по умолчанию используется пропорциональное масштабирование, потому картинка(как и остальной контент внутри Flash Player-а) и изменяется в размерах.

Старый 05.10.2013, 19:02
slavnovik вне форума Посмотреть профиль Отправить личное сообщение для slavnovik Найти все сообщения от slavnovik
  № 3  
Ответить с цитированием
slavnovik

Регистрация: Jun 2013
Сообщений: 50
Цитата:
Сообщение от C4Grey Посмотреть сообщение
Нужно настроить Stage(получить доступ к экземпляру Stage можно через соответствующее свойство stage любого DisplayObject-а):
Код AS3:
stage.scaleMode = StageScaleMode.NO_SCALE;
Устанавливает режим масштабирования контента, по умолчанию используется пропорциональное масштабирование, потому картинка(как и остальной контент внутри Flash Player-а) и изменяется в размерах.

Что-то не помогает, ну или я что-то не так делаю

Старый 05.10.2013, 19:34
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 4  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Вот так попробуйте
Код AS3:
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;

Старый 05.10.2013, 19:57
slavnovik вне форума Посмотреть профиль Отправить личное сообщение для slavnovik Найти все сообщения от slavnovik
  № 5  
Ответить с цитированием
slavnovik

Регистрация: Jun 2013
Сообщений: 50
Цитата:
Сообщение от Akopalipsis Посмотреть сообщение
Вот так попробуйте
Код AS3:
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
тупо добавить в код? А конкретно к картинке это нельзя применить?

Добавлено через 1 минуту
Просто мне надо, чтоб остальные объекты увеличивались, только картинка прежняя

Старый 05.10.2013, 20:01
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 6  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Тогда делайте контейнер который будет масштабироваться как Вам нужно и туда вставляйте картинку.
По другому вроде бы нельзя.

Старый 05.10.2013, 20:03
slavnovik вне форума Посмотреть профиль Отправить личное сообщение для slavnovik Найти все сообщения от slavnovik
  № 7  
Ответить с цитированием
slavnovik

Регистрация: Jun 2013
Сообщений: 50
Цитата:
Сообщение от Akopalipsis Посмотреть сообщение
Тогда делайте контейнер который будет масштабироваться как Вам нужно и туда вставляйте картинку.
По другому вроде бы нельзя.
А можно подробнее? Я в ас только начинаю...

Старый 05.10.2013, 20:24
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 8  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
А можно подробнее? Я в ас только начинаю...
я Вам наверное не верный совет дал по поводу контейнера. Точнее такой способ поможет, но нужно вообще все обьекты пересчитывать и перерисовывать..

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

Добавлено через 9 минут
Тут нужно создавать модель, которая возьмёт под свой контроль все координаты и размеры. Подписывать сцену на ресайз, по которому эта модель будет все пересчитывать и говорить о перерисовке.

Старый 05.10.2013, 20:51
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 9  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Только через скейлМоде.Носкейл. Дальше подписываемся на ресайз, и ресайзем ВСЕ, что нам нужно так, как нужно, а картинку не трогаем. Сунуть в контейнер - мысль логичная, тогда придется скейлить только контейнер, а картинку держать в другом контейнере, который не скейлится. - все просто

Добавлено через 3 минуты
2 строчки кода, короче
__________________
Марк Tween

Старый 05.10.2013, 20:56
slavnovik вне форума Посмотреть профиль Отправить личное сообщение для slavnovik Найти все сообщения от slavnovik
  № 10  
Ответить с цитированием
slavnovik

Регистрация: Jun 2013
Сообщений: 50
Цитата:
Сообщение от in4core Посмотреть сообщение
Только через скейлМоде.Носкейл. Дальше подписываемся на ресайз, и ресайзем ВСЕ, что нам нужно так, как нужно, а картинку не трогаем. Сунуть в контейнер - мысль логичная, тогда придется скейлить только контейнер, а картинку держать в другом контейнере, который не скейлится. - все просто

Добавлено через 3 минуты
2 строчки кода, короче
Можете продемонстрировать эти строчки? Желательно, с пояснениями, чтоб хоть чему-то научиться

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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