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

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

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

Регистрация: Jul 2008
Сообщений: 72
Question tween и unloadClip

здравствуйте,
Код AS1/AS2:
varTarget = _root.Windoww.mediaContent;
varTarget.varTween = new Tween(varTarget, "_alpha", Regular.easeOut, varTarget._alpha, 0, 0.25, true);
 
varTarget.varTween.onMotionFinished = function() {
			_root.my_mcl.unloadClip(_root.Windoww.mediaContent);
	};



подскажите пожалуйста - почему данный код срабатывает в _root, а когда его же вношу в функцию on(release) нужной мне кнопки - код не срабатывает - только если просто
Код AS1/AS2:
_root.my_mcl.unloadClip(_root.Windoww.mediaContent);

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

Регистрация: Jan 2009
Адрес: Одесса
Сообщений: 309
Отправить сообщение для Fatality с помощью ICQ
Все работает, как в кнопке, так и без нее
Код AS1/AS2:
on (release) {
	import mx.transitions.Tween;
	import mx.transition.easing.*;
	varTarget = _root.Windoww.mediaContent;
	varTarget.varTween = new Tween(varTarget, "_alpha", Regular.easeOut, varTarget._alpha, 0, 0.25, true);
 
	varTarget.varTween.onMotionFinished = function()
	{
		varTarget.unloadClip();
	};
}
Но это устаревший вариант использования событий, мы же не во Flash 5 работаем !
Куда лучше использовать событие кнопки onRelease в том же _root.
И еще, это что ?
Цитата:
_root.my_mcl.unloadClip (_root.Windoww.mediaContent);
тут или
Код AS1/AS2:
varTarget.unloadClip();
использование unloadMovie как метода (удалит _root.Windoww.mediaContent) или
Код AS1/AS2:
unloadMovie(varTarget);
использование unloadMovie как функции (результат тот же).
При чем тут _root.my_mcl, вообще непонятно.


Последний раз редактировалось Fatality; 15.02.2009 в 02:42.
Старый 16.02.2009, 15:54
sector_222 вне форума Посмотреть профиль Отправить личное сообщение для sector_222 Найти все сообщения от sector_222
  № 3  
Ответить с цитированием
sector_222
 
Аватар для sector_222

Регистрация: Jul 2008
Сообщений: 72
Цитата:
При чем тут _root.my_mcl, вообще непонятно.
а это я затупил - теперь ясно почему не шло - надо было просто объявить классы
Код AS1/AS2:
import mx.transitions.Tween;
import mx.transition.easing.*;
спасибо =)!!!

у меня другой вопрос связанный с прелоадером:

в руте есть код:

Код AS1/AS2:
// загрузчик изображения
//Создаём объект Movie Clip Loader
var my_mcl:MovieClipLoader = new MovieClipLoader();
//Создаём объект класса Object, который будет выступать у нас в роли "слушаетля"
//событий, которые генерирует Movie Clip Loader
var my_lst:Object = new Object();
//Делаем обект my_lst "слушателем" объекта my_mcl
my_mcl.addListener(my_lst);
//Создаём событие, которое будет возникать при СТАРТЕ ЗАГРУЗКИ
//
//Параметр target_mc, который передаётсяв теле функции - это клип-контейнер, в
//в который загружается картинка или флешка с помощью Movie Clip Loader.
my_lst.onLoadStart = function(target_mc:MovieClip) {
 
	//будет отображаться ход загрузки внешнего файла
	varTarget = _root.Windoww.preload_mc;
	varTarget.varTween = new Tween(varTarget, "_alpha", Regular.easeOut, varTarget._alpha, 100, 0.25, true);
};
//target_mc - это клип-контейнер, в который подгружается внешний файл
//loaded - это количество уже загруженных данных (в байтах)
//total - общий размер загружаемого файла в байтах
my_lst.onLoadProgress = function(target_mc:MovieClip, loaded:Number, total:Number) {
	/*trace("Процент загрузки в "+target_mc+" составляет "+varPercent+"%");*/
	//Вычисляем процентное отношение загруженных данных к общему размеру файла 
	varPercent = loaded/total*100;
	//Показываем процент загрузки в текстовых полях
	_root.Windoww.preload_mc.preload_txt.text = _root.Windoww.preload_mc.duplicate_txt.text=Math.round(varPercent)+"%";
};
//Создаём событие, которое будет срабатывать по завершению загрузки
my_lst.onLoadComplete = function(target_mc:MovieClip){
	//Когда закончена загрузка скрываем клип preload_mc, в котором показывался
	//процент загрузки.
	/*varTarget = _root.Windoww.preload_mc;
	varTarget.varTween = new Tween(varTarget, "_alpha", Regular.easeOut, varTarget._alpha, 0, 0.5, true);*/
};
//событие onLoadInit
my_lst.onLoadInit = function(target_mc:MovieClip) {
 
	varTarget = target_mc;
	varTarget.varTween = new Tween(varTarget, "_alpha", Regular.easeIn, 0, 100, 1, true);
};
в кнопке есть такой код:
Код AS1/AS2:
varTarget = _root.Windoww.mediaContent;
	varTarget.varTween = new Tween(varTarget, "_alpha", Regular.easeOut, varTarget._alpha, 0, 0.25, true);
	  _root.my_mcl.loadClip(_root.ImgURL, _root.Windoww.mediaContent);

в итоге естественно прелоадер работает только когда я нажимаю кнопку первый раз - до меня не доходит как вызывать прелоадер ????? при каждом нажатии на кнопку Может просто убрать весь код из рута в кнопку?

Старый 16.02.2009, 16:20
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 4  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
Обьяви все в цикле, если хочешь для разных ссылок, иначе картинка уже считай загружена.

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

Регистрация: Jul 2008
Сообщений: 72
цикл не пойдёт я думаю - поскольку я загружаю не несколько одновременно - а только одну - и при каждом обращении к кнопке переменная _root.ImgURL - всегда разная

Старый 16.02.2009, 16:35
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 6  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
как-то так можно
Код AS1/AS2:
import mx.transitions.Tween;
import mx.transition.easing.Regular;
 
var app:		MovieClip = this;
var Windoww:		MovieClip;
 
function onLoadInit(target:MovieClip):Void {
	target.mcl.removeListener(this);
	delete target.mcl;
	this.tweenMe(target);
}
 
function tweenMe(target:MovieClip):Void {
	target.varTween = new Tween(target, "_alpha", Regular.easeIn, 0, 100, 1, true);
}
 
// Ваш button - instance name
this.button.onRelease = function():Void {
	if (!app.Windoww.mediaContent) {
		var mcl:MovieClipLoader = new MovieClipLoader();
		var target:MovieClip = app.Windoww.createEmptyMovieClip( 'mediaContent', app.Windoww.getNextHighestDepth() );
		target.mcl = mcl;
		mcl.addListener(app);
		mcl.loadClip(_root.ImgURL, target);
	}
	else app.tweenMe(app.Windoww.mediaContent);
}
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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


 


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


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