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

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

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

Регистрация: Dec 2012
Сообщений: 39
По умолчанию Странное поведение при масштабировании

Доброго дня. Столкнулся с проблемой
есть код
Код AS3:
//примерно
package
{
  public class someClass
  {
 
      private var container:MovieClip=new MovieClip();
      private var btmp:Bitmap=new Bitmap();//загружаю из вне удачно на сцену добавляется
      //btmp width=1000, height=1000
 
      public function someClass()
      {
         addChild(container);
         container.addChild(btmp);
 
         trace(container.width+", "+btmp.width);//1000, 1000
 
         container.scaleX=1.5;
         trace(container.width+", "+btmp.width)//1500, 1000
      }
  }
}
хотя я расчитывал увидеть 1500, 1500 может кто подскажет в чем дело

Спасибо заранее

Старый 30.07.2013, 16:46
tsarapkabel вне форума Посмотреть профиль Отправить личное сообщение для tsarapkabel Найти все сообщения от tsarapkabel
  № 2  
Ответить с цитированием
tsarapkabel
 
Аватар для tsarapkabel

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
Создайте матрицу, отскейлите её, затем в BitmapData.draw передайте вторым параметром.
http://stackoverflow.com/questions/9...mapdata-object
__________________
Нормально делай — нормально будет!

Старый 31.07.2013, 09:01
FlashRus вне форума Посмотреть профиль Отправить личное сообщение для FlashRus Найти все сообщения от FlashRus
  № 3  
Ответить с цитированием
FlashRus
 
Аватар для FlashRus

Регистрация: Nov 2006
Адрес: СПб
Сообщений: 921
Отправить сообщение для FlashRus с помощью ICQ Отправить сообщение для FlashRus с помощью Skype™
Код AS3:
container.scaleX=1.5;
trace(container.width+", "+btmp.width)//1500, 1000
а как-же scaleY?

Старый 31.07.2013, 09:43
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
А с какой стати битмап то должен свою ширину поменять? Вы растянули контейнер, то есть систему координат. Контейнер во внешней системе координат стал 1500, но его то внутренняя система координат только отмасштабировалась.
Когда вы географическую карту увеличиваете, расстояния между городами тоже должны увеличиться?
Вы меняете показ объекта, а не объект. Увеличить ширину битмапа значит добавить энное количество пикселей в битмап. Если вы будете растягивать жвачку, она не превратится в двухтонный шар — новые частицы жвачки в ней не появятся))
__________________
Reality.getBounds(this);

Старый 31.07.2013, 13:18
temp вне форума Посмотреть профиль Отправить личное сообщение для temp Найти все сообщения от temp
  № 5  
Ответить с цитированием
temp
 
Аватар для temp

Регистрация: Dec 2012
Сообщений: 39
Цитата:
Сообщение от Wolsh Посмотреть сообщение
А с какой стати битмап то должен свою ширину поменять? Вы растянули контейнер, то есть систему координат. Контейнер во внешней системе координат стал 1500, но его то внутренняя система координат только отмасштабировалась.
Когда вы географическую карту увеличиваете, расстояния между городами тоже должны увеличиться?
Вы меняете показ объекта, а не объект. Увеличить ширину битмапа значит добавить энное количество пикселей в битмап. Если вы будете растягивать жвачку, она не превратится в двухтонный шар — новые частицы жвачки в ней не появятся))
Благодарю! лопатил кучу инфы вчера и как раз подобное зародилось в голове. Ваше объяснение как раз устаканило понимание происходящего) Еще раз спасибо!

Добавлено через 1 минуту
Цитата:
Сообщение от FlashRus Посмотреть сообщение
Код AS3:
container.scaleX=1.5;
trace(container.width+", "+btmp.width)//1500, 1000
а как-же scaleY?
Ну по y тоже скейл, просто для аппроксимации задачи привел такой пример куцый

с У ситуация таже

Добавлено через 3 минуты
как советовал tsarapkabel делаю эксперименты с матрицей.

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

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

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


 


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


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