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

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

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

Регистрация: Sep 2012
Сообщений: 204
По умолчанию Увеличение битмапа

Вот делаю я импорт битмапы, потом вещаю tweenlite анимацию, и получается полная дребеда. Вот код
Код AS3:
var bm12:Bitmap = new Bitmap();
var pic12:Loader = new Loader();
pic12.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete2);
pic12.load(new URLRequest('12.jpg'));
 
function onLoadComplete2(e:Event):void{
pic12.contentLoaderInfo.removeEventListener(Event.COMPLETE, onLoadComplete2);
 
bm12 = Bitmap(pic12.content);
bm12.width = bm12.width/8;
bm12.height = bm12.height/8;
bm12.smoothing = true;
 
btn12.buttonMode = true;
btn12.addEventListener(MouseEvent.CLICK, clicked12);
function clicked12 (e:MouseEvent):void{
 
	addChild(bm12);
	bm12.x = mouseX;
	bm12.y = mouseY;
	TweenLite.to(bm12, 1, {x:stage.stageWidth/2 - bm12.width*3/2, y:stage.stageHeight/2 - bm12.height*3/2, scaleX:3, scaleY:3});
}
}
Размер картинки большой, поэтому я его делю на 8. Есди убрать твин, т овсе в порядке. Как только активирую твин, у меня картинка из точки курсора выдвигается на весь свой реальный размер.
Подумал может есть смысл засунуть в контейнер, и потом уже твинить контейнер. Набираю
Код AS3:
var container2:MovieClip = new MovieClip();
        container2.width = bm12.width;
	container2.height= bm12.height;
	container2.x = mouseX;
	container2.y = mouseY;
	addChild(container2);
	container2.addChild(bm12);
в таком случае вообще ничего не отображается
Что я не так делаю?
P.S. нашел в хелпе адоба следующее "К объекту Bitmap не должно применяться растягивание, поворот и наклон." . Собственн опонятно почему он у меня становится огромным. Но тогда почему он не засовывается у меня в контейнер MovieClip?


Последний раз редактировалось pomuс; 25.10.2012 в 20:27.
Старый 25.10.2012, 20:42
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
А что Вас удивляет? Вы хотите за 1 секунду увеличить картинку из 1/8 размера до трех реальных размеров. Конечно это взрыв.
Цитата:
var container2:MovieClip = new MovieClip();
Зачем Вам МувиКлип? Вы собираетесь использовать таймлайн?
Цитата:
container2.width = bm12.width;
container2.height= bm12.height
А это что за магия? У пустоты не бывает размера в пикселях.
__________________
Reality.getBounds(this);

Старый 25.10.2012, 21:44
pomuс вне форума Посмотреть профиль Отправить личное сообщение для pomuс Найти все сообщения от pomuс
  № 3  
Ответить с цитированием
pomuс

Регистрация: Sep 2012
Сообщений: 204
Цитата:
Сообщение от Wolsh Посмотреть сообщение
А что Вас удивляет? Вы хотите за 1 секунду увеличить картинку из 1/8 размера до трех реальных размеров. Конечно это взрыв.
ну как же, сначала я обозначаю что размер будет 1/8 от текущего. Разве нет? Да даже если назначать реальные прочто значения как 400 и 300 все равно ничего не загружается
MovieClip переправил в Sprite, но это точно не был ключевой момент

а вот по поводу последнее не очень понял... в общем я перепробывал по разному, и назначая пиксели размеры и с переменными...

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
ОК. Постараюсь подробней.
Цитата:
Как только активирую твин, у меня картинка из точки курсора выдвигается на весь свой реальный размер.
Ваши слова? Мой ответ не совпадает? Может, Вы используете слово "выдвигается" в каком-то своем, особом смысле? Я просто силюсь сопоставить Ваши фразы "выдвигается на весь свой реальный размер" и "все равно ничего не загружается". Давайте оставим панику и попробуем объясняться нормальным русским языком, не перепрыгивая с пятого на десятое?
Цитата:
в общем я перепробывал по разному, и назначая пиксели размеры и с переменными...
Что во фразе "пустота не имеет размеров" Вам непонятно? Вы создаете новый пустой, абсолютно ПУСТОЙ, МувиКлип (теперь спрайт, это хорошо). И начинаете назначать ему размеры. Пустому. Размеры. Размер ЧЕГО Вы пытаетесь установить? Ничего же нет. Никакого отображения. Нет ничего, что могло бы быть 300, или 10, или 100500. Размер любого контейнера (спрайт, мувиклип и др) — это размер его контента. Добавляете в него битмап — и тогда появляется размер, равный размеру битмапа. Теперь у контейнера есть отображение, и значит есть размеры. Уберите свои магические строчки, они в лучшем случае вообще ничего не делают.
Далее.. Вот теперь, когда Вы поместили битмап в контейнер, при клике по кнопке Вы помещаете контейнер в точку клика. ОК. А вот тот код, в котором Вы назначаете координаты самому битмапу —
Цитата:
addChild(bm12);
bm12.x = mouseX;
bm12.y = mouseY;
TweenLite.to(bm12, 1, {x:stage.stageWidth/2 - bm12.width*3/2, y:stage.stageHeight/2 - bm12.height*3/2, scaleX:3, scaleY:3});
— Вы его изменяли? Или теперь у Вас и контейнер смещен, и битмап внутри контейнера смещен? Может, поэтому Вы его не видите?

Добавлено через 8 минут
Цитата:
P.S. нашел в хелпе адоба следующее "К объекту Bitmap не должно применяться растягивание, поворот и наклон."
Вообще-то перед этим вырванным отрывком есть еще текст. И он гласит:
Цитата:
Подпрограмма копирования пикселей работает намного быстрее, чем векторное средство визуализации, но объект Bitmap должен соответствовать определенным условиям для его использования.
Для того, чтобы подпрограмма копирования пикселей работала БЫСТРЕЕ, битмап не должен подвергаться трансформациям (потому что тогда надо не копировать, а пересчитывать, что конечно намного дольше), только и всего.
__________________
Reality.getBounds(this);

Старый 26.10.2012, 01:52
pomuс вне форума Посмотреть профиль Отправить личное сообщение для pomuс Найти все сообщения от pomuс
  № 5  
Ответить с цитированием
pomuс

Регистрация: Sep 2012
Сообщений: 204
Wolsh
спасибо, вчитался, вдумался, и все поправил. Хоть теперь есть ясность раз и навсегда

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

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

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


 


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


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