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

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

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

Регистрация: Nov 2000
Адрес: NY, USA
Сообщений: 183
Отправить сообщение для ader с помощью ICQ
По умолчанию moveMc.as tween problem

Делаю значит фотогалерею и собсно хочу чтоб у каждой фотки был фон который сайзился под фотку.

Т.е. фотка не просто появляется а как бы выплывает из другой.

Если ставить жосткие координаты без твина - естественно всё отлично работает. Но выплывания в этом случаи нет. Нет твина.

Код:
windowmc._x = cx - 5;
windowmc._y = cy - 5;
windowmc._width = mc._width + 10;
windowmc._height = mc._height + 10;
но если поставить твин - windowmc зависает на своей текущей координате и твин не работает.

Код:
tween = new mx.transitions.Tween(windowmc, "_width", mx.transitions.easing.Strong.easeInOut, windowmc._width, picturemc._width, 1, true);
tween = new mx.transitions.Tween(windowmc, "_height", mx.transitions.easing.Strong.easeInOut, windowmc._height, picturemc._height, 1, true);
tween = new mx.transitions.Tween(windowmc, "_x", mx.transitions.easing.Strong.easeInOut, windowmc._x, picturemc._x, 1, true);
tween = new mx.transitions.Tween(windowmc, "_y", mx.transitions.easing.Strong.easeInOut, windowmc._y, picturemc._y, 1, true);
Насколько я понял - оно постоянно запускает твин как будто он в цыкле.
Как этого избежать?

Есть ещё нюанс: - пока мы не загрузим фотку, ни о каких координатах речи идти не может.

Я уже все варианты перепробывал. И в отдельную функтию сайз ставил (работает так же само - запускает постоянно функцию) и вообще в отдельный мувиклип ставил...

Вы умные - помогите а? Пол дня уже долбаюсь.



Твин использую moveMc.as - сам твин рабочий 100%.
раньше юзал lmc_tween.as - работало - но страшно этот твин глючит. Разлюбил я его ))



даю функцию грузящую фотку:

Код:
_global.loadImage = function(mc, prevNameImage, currentNameImage, nextNameImage) {
	mc.createEmptyMovieClip("currentImage", 1);
	mc.currentImage.loadMovie(currentNameImage, 1);
	mc.onEnterFrame = function() {
		var BytesLoaded:Number = mc.currentImage.getBytesLoaded();
		var BytesTotal:Number = mc.currentImage.getBytesTotal();
		if (BytesTotal != undefined) {
			var cx = int(mc._width/2-mc._width+Stage.width/2);
			var cy = int(mc._height/2-mc._height+Stage.height/2);
			mc._x = cx;
			mc._y = cy;
			loadImgStatus = true;
			
			//windowmc._x = cx - 5;
			//windowmc._y = cy - 5;
			//windowmc._width = mc._width + 10;
			//windowmc._height = mc._height + 10;
			
			//tween = new mx.transitions.Tween(windowmc, "_width", mx.transitions.easing.Strong.easeInOut, windowmc._width, picturemc._width, 1, true);
			//tween = new mx.transitions.Tween(windowmc, "_height", mx.transitions.easing.Strong.easeInOut, windowmc._height, picturemc._height, 1, true);
			//tween = new mx.transitions.Tween(windowmc, "_x", mx.transitions.easing.Strong.easeInOut, windowmc._x, picturemc._x, 1, true);
			//tween = new mx.transitions.Tween(windowmc, "_y", mx.transitions.easing.Strong.easeInOut, windowmc._y, picturemc._y, 1, true);
		} else {
			loadImgStatus = false;
		}
	};
};


Последний раз редактировалось iNils; 26.10.2006 в 05:53.
Старый 26.10.2006, 06:14
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Слов нет как все плохо... Вы манипулируете с картинкой в процессе ее загрузки, что не правильно, она все равно пока не загрузится не будет отображаться, хотя BytesTotal ее уже известен и поэтому код внутри onEnterFrame бессмысленно работает. Эти манипуляции идут вечно, так как вы не убиваете onEnterFrame. В каждом кадре пытается переопределить Tween, что само по себе его использование бесполезно. Координаты каждой картинки будут одинаковы, так как вы распологаете их относительно размеров Stage.
Кроме того даете код и путь все мучаются и думают, что такое в нем windowmc.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 26.10.2006, 20:45
ader вне форума Посмотреть профиль Отправить личное сообщение для ader Посетить домашнюю страницу ader Найти все сообщения от ader
  № 3  
Ответить с цитированием
ader
 
Аватар для ader

Регистрация: Nov 2000
Адрес: NY, USA
Сообщений: 183
Отправить сообщение для ader с помощью ICQ
ага. Про загрузку не подумал. буду проверять на BytesLoaded == BytesTotal
Получается что нужно просто убить onEnterFrame ?
delete onEnterFrame();

так ?

что касается координат - то они кадждый раз разные тк. размеры картинок разные.

Старый 26.10.2006, 20:52
ader вне форума Посмотреть профиль Отправить личное сообщение для ader Посетить домашнюю страницу ader Найти все сообщения от ader
  № 4  
Ответить с цитированием
ader
 
Аватар для ader

Регистрация: Nov 2000
Адрес: NY, USA
Сообщений: 183
Отправить сообщение для ader с помощью ICQ
ыыы... заработало
спасибо.

не работало пока не поставил проверку на ширину

BytesTotal == BytesLoaded and BytesTotal != undefined and mc._width != 0

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

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

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


 


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


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