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

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

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

Регистрация: Jun 2007
Адрес: Москва
Сообщений: 86
По умолчанию Не работает функция при использовании loadMovie

Вот так функция не работает:
Код AS1/AS2:
this.createEmptyMovieClip("mc10",45);
this.mc10.loadMovie("bg.jpg");
_root.mc10.onRollOver = function (){
	_root.mc10._alpha = 30;
	}
При том что вот так работает(для проверки):
Код AS1/AS2:
this.createEmptyMovieClip("mc10",45);
this.mc10.loadMovie("bg.jpg");
_root.mc10._alpha = 30;
То бишь проблема именно с функцией. Интересно то, что если пользоваться attachMovie() суя файл в библиотеку, вместо loadMovie(), то все работает.

Смысл всего: хочу создать меню с динамически подргужаемыми картинками кнопок. Пока что сделал вывод что вместо button придется все сувать в movieClip и писать обработчики. А тут такая засада.

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

Регистрация: Jan 2009
Адрес: Одесса
Сообщений: 309
Отправить сообщение для Fatality с помощью ICQ
метод .loadMovie() устарел так как он неполноценен, используй MovieClipLoader например так
Код AS1/AS2:
var mc_ldr:MovieClipLoader = new MovieClipLoader();
var Listener:Object = new Object();
Listener.onLoadStart = function(mc:MovieClip)
{
	trace("Загружаем данные в : "+mc);
}
Listener.onLoadComplete = function(mc:MovieClip)
{
	trace("Загрузили данные в : "+mc);
	mc.onRollOver = function()
	{
		this._alpha = 50;
	}
}
_root.createEmptyMovieClip("clip_mc", 0);
mc_ldr.loadClip("1.jpg", clip_mc);
mc_ldr.addListener(Listener);
все работает отлично - при RollOver прозрачность изображения равна 50%
P.S если не понятно что зачем объясню


Последний раз редактировалось Fatality; 15.01.2009 в 01:58.
Старый 15.01.2009, 02:48
SeaQuest вне форума Посмотреть профиль Отправить личное сообщение для SeaQuest Найти все сообщения от SeaQuest
  № 3  
Ответить с цитированием
SeaQuest
 
Аватар для SeaQuest

Регистрация: Jun 2007
Адрес: Москва
Сообщений: 86
Отдельно попробовал, работает, спасибо! Но когда пытаюсь воткнуть этот код в мой код - не работает. Видимо проблема в том, что созданный таким образом клип вставляется в еще один программный клип + на него накадывается маска. Думаю тут уже глюки с адресацией и ограничениями связанные с ней.

Хреновато, но код понял. Буду пробовать. Не получится - выложу весь свой код.

Добавлено через 32 минуты
Все работает! Видимо, все мои ошибки по неграмотности.
Чутка дополненный код, в случае если наш мувик нужно вставить в еще один программный мувик:
Код AS1/AS2:
var mc_ldr:MovieClipLoader = new MovieClipLoader();
var Listener:Object = new Object();
Listener.onLoadStart = function(mc:MovieClip)
{
	trace("Загружаем данные в : "+mc);
}
Listener.onLoadComplete = function(mc:MovieClip)
{
	trace("Загрузили данные в : "+mc);
	mc.onRollOver = function()
	{
		this._alpha = 50;
	}
}
 
this.createEmptyMovieClip("mc1",0);		
this.mc1.createEmptyMovieClip("clip_mc", 0);
mc_ldr.loadClip("bg.jpg", mc1.clip_mc);
mc_ldr.addListener(Listener);
Я бы был благодарен за комментарии по работе этого кода. Если не сложно опиши вкратце.

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

Регистрация: Jan 2009
Адрес: Одесса
Сообщений: 309
Отправить сообщение для Fatality с помощью ICQ
выкладываю код с комментариями
Код AS1/AS2:
var mc_ldr:MovieClipLoader = new MovieClipLoader(); //Создаем объект управляющий процессом загрузки
var Listener:Object = new Object(); //Создаем объект который будет слушателем событий
//Здесь события загрузчика ими управляет созданный нами слушатель
Listener.onLoadStart = function(mc:MovieClip) //Это событие onLoadStart, происходит при старте загрузки(его можно удалить)
{
	trace("Загружаем данные в : "+mc); 
} 
//У загрузчика так же есть и другие события, например onLoadProgress, выполняется во время процесса загрузки
Listener.onLoadComplete = function(mc:MovieClip) //Это событие onLoadComplete, происходит по окончанию загрузки
{
	trace("Загрузили данные в : "+mc); //Эта строка не обязательна, думаю знаешь и сам что это =)
	mc.onRollOver = function() //Тут уже на наш клип можно вешать событие onRollOver
	{
		this._alpha = 50;
	}
}
 
this.createEmptyMovieClip("mc1",0);
this.mc1.createEmptyMovieClip("clip_mc", 0);
mc_ldr.loadClip("bg.jpg", mc1.clip_mc); //Загружаем изображение в клип
mc_ldr.addListener(Listener); //Вешаем загрузчику наш слушатель
//Все манипуляции с клипом в который грузится изображение делаются по окончанию загрузки
//Тогда все отлично работает


Последний раз редактировалось Fatality; 15.01.2009 в 17:05.
Старый 15.01.2009, 19:03
SeaQuest вне форума Посмотреть профиль Отправить личное сообщение для SeaQuest Найти все сообщения от SeaQuest
  № 5  
Ответить с цитированием
SeaQuest
 
Аватар для SeaQuest

Регистрация: Jun 2007
Адрес: Москва
Сообщений: 86
Пасиба! Вопрос исчерпан, тему можно закрывать.

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

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

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


 


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


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