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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 05.01.2003, 18:12
ЛОWАДКА вне форума Посмотреть профиль Отправить личное сообщение для ЛОWАДКА Посетить домашнюю страницу ЛОWАДКА Найти все сообщения от ЛОWАДКА
  № 1  
ЛОWАДКА
Сайгак
 
Аватар для ЛОWАДКА

Регистрация: Mar 2001
Адрес: Киев
Сообщений: 1,834
Отправить сообщение для ЛОWАДКА с помощью ICQ
По умолчанию люди! Помогите разобраться с прототипами!

Вот тут есть код (в приложенном файле) Я как бы его на 50% понял на вот остальные 50 даются с трудом!
Честно говоря с прототипами первый раз работаю! Сижу вот обложившись книгами и окнами эксплорера, но мне не понятны все аргументы что тут встречаются!

Умные мира сего не покажете ли на пальцах по порядку что именно делает этот код, по пунктам! Очень поможете в познании прототипов!


Я так понял самое главное и самое сложное кроется в этом куске кода!

Код:
MovieClip.prototype.oldLoadMovie = loadMovie;
MovieClip.prototype.loadMovie = function() {
	if (arguments[2]) {
		_root.history_array.push(arguments[0]);
		_root.position_in_history = _root.history_array.length-1;
		this.oldLoadMovie(arguments[0], arguments[1]);
	} else {
		this.oldLoadMovie(arguments[0], arguments[1]);
	}
};

Заранее спасибо вам!
Вложения
Тип файла: zip pugalo.zip (14.6 Кб, 101 просмотров)
__________________
- Всё, мастер! Готово!
- Что готово?
- Сломал...
------------------------------
(O: ЖЖ :O)

Старый 07.01.2003, 14:27
Alex_Lom вне форума Посмотреть профиль Отправить личное сообщение для Alex_Lom Найти все сообщения от Alex_Lom
  № 2  
Alex_Lom

Регистрация: Mar 2001
Адрес: Киев
Сообщений: 91
Отправить сообщение для Alex_Lom с помощью ICQ
В свойсве класса prototype хранится объект, который является прообразом всех экземпляров данного класса.
Тоесть при создании нового экземпляра, в него переносятся все свойсва и методы объекта prototype.
Код:
MovieClip.prototype.oldLoadMovie = loadMovie;
/*loadMovie - сущесвуюший метод (по сути функция) класса MovieClip.
В метод oldLoadMovie мы ее и копируем. Тоесть на данном этапе этими
обоими методами можно пользоватся одновременно и одинаково.
Но это не есть цель, и потому перепишем метод loadMovie на свой лад : */
MovieClip.prototype.loadMovie = function() { // новая функция которая становится
//новым методом loadMovie теперь все мувики вызывая  loadMovie будут пользоватся именно ею
	if (arguments[2]) { // поскольку никакой строгости с аргументами
                        //у функций во флеш нет, их можно сначала 
			//вообще не описывать, а потом из специального массива arguments
			// считавать и пользоватся по мере необходимости. В данной строчке
			//проверяется определены ли все три аргумента, и если да, то:
		_root.history_array.push(arguments[0]); 
//в массив history_array в конец дописывается элемент,
					//со значением первого аргумента вызваной функции 
					//(название флешки 1.swf 2.swf и тд)
		_root.position_in_history = _root.history_array.length-1; 
// свойсву position_in_history приписывается
//номер в массиве этого элемента (флешки) 
		this.oldLoadMovie(arguments[0], arguments[1]);
// в this тоесть в мувик который вызвал этот метод и загружается флешка
	// а вот со вторым параметром - какой-то ляп, это по идее долже быть "GET" или "POST"
	// но там стоит пустая строка... (?)
	} else {
		this.oldLoadMovie(arguments[0], arguments[1]); //если параметров не три то ...
	}
};
на кнопках загрузки стоят скрипты :_root.target_for_mc.loadMovie("0.swf", "", 1) - 3 аргумента,
а в функции setPosition - один


Последний раз редактировалось Alex_Lom; 07.01.2003 в 14:32.
Старый 08.01.2003, 12:36
ЛОWАДКА вне форума Посмотреть профиль Отправить личное сообщение для ЛОWАДКА Посетить домашнюю страницу ЛОWАДКА Найти все сообщения от ЛОWАДКА
  № 3  
ЛОWАДКА
Сайгак
 
Аватар для ЛОWАДКА

Регистрация: Mar 2001
Адрес: Киев
Сообщений: 1,834
Отправить сообщение для ЛОWАДКА с помощью ICQ
Вау! Спасибо! Раздуплился!

Еще один малнький вовпросик! Получается когда мы вызываем комманду LoadMovie то внутри самой функции у нас присутствует массив arguments, а если мы создадим другую функцию, то внутри будет другой массив?

Спасибо тебе большое!
__________________
- Всё, мастер! Готово!
- Что готово?
- Сломал...
------------------------------
(O: ЖЖ :O)

Старый 08.01.2003, 13:15
Alex_Lom вне форума Посмотреть профиль Отправить личное сообщение для Alex_Lom Найти все сообщения от Alex_Lom
  № 4  
Alex_Lom

Регистрация: Mar 2001
Адрес: Киев
Сообщений: 91
Отправить сообщение для Alex_Lom с помощью ICQ
ну конечно! каждой функции свой arguments. Если представить функцию как некий объект, то этот массив его свойство.

Старый 08.01.2003, 13:20
ЛОWАДКА вне форума Посмотреть профиль Отправить личное сообщение для ЛОWАДКА Посетить домашнюю страницу ЛОWАДКА Найти все сообщения от ЛОWАДКА
  № 5  
ЛОWАДКА
Сайгак
 
Аватар для ЛОWАДКА

Регистрация: Mar 2001
Адрес: Киев
Сообщений: 1,834
Отправить сообщение для ЛОWАДКА с помощью ICQ
Ура! Теперь будем тренироваться! Спасибо!
__________________
- Всё, мастер! Готово!
- Что готово?
- Сломал...
------------------------------
(O: ЖЖ :O)

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

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

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


 


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


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