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

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

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

Регистрация: Nov 2002
Адрес: Москва
Сообщений: 116
По умолчанию Реально ли скриптом создавать другой скрипт?

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

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

Регистрация: Feb 2004
Адрес: на колокольне Любит: плеваться
Сообщений: 1,769
Отправить сообщение для Dindin с помощью ICQ
В том же месте, где создаешь кнопки определяй и события для них. Например
Код:
for (i=0;i<maxValue;i++)
{
    _root.attachMovie ('button','button'+i,i);
     _root['button'+i].onRelease  = function ()
         {
               getURL ('page'+i+'.html','_blank');
         }
}
__________________
судью - на мыло, из игроков - вить веревки.

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

Регистрация: Feb 2004
Адрес: на колокольне Любит: плеваться
Сообщений: 1,769
Отправить сообщение для Dindin с помощью ICQ
Код:
maxValue = 5;
width = 30;

for (i=0;i<maxValue;i++)
{
    _root.attachMovie ('button','button'+i,i,{_x:width*i});
	 _root['button'+i].num = i;
     _root['button'+i].onRelease  = function()
         {
               getURL ('page'+this.num+'.html','_blank');
         }
}
Точнее так, а то ссылка каждый раз будет ссылаться на page5.html
:^)
__________________
судью - на мыло, из игроков - вить веревки.

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

Регистрация: Nov 2002
Адрес: Москва
Сообщений: 116
Большое тебе спасибо!

Старый 13.04.2004, 21:02
Dindin вне форума Посмотреть профиль Отправить личное сообщение для Dindin Посетить домашнюю страницу Dindin Найти все сообщения от Dindin
  № 5  
Dindin
 
Аватар для Dindin

Регистрация: Feb 2004
Адрес: на колокольне Любит: плеваться
Сообщений: 1,769
Отправить сообщение для Dindin с помощью ICQ
:^) Приходите еще
__________________
судью - на мыло, из игроков - вить веревки.

Старый 14.04.2004, 21:49
Iv вне форума Посмотреть профиль Отправить личное сообщение для Iv Посетить домашнюю страницу Iv Найти все сообщения от Iv
  № 6  
Iv
 
Аватар для Iv

Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
Код:
this.addOnRelease = function() {
	var fnc = function () {
		this.getURL(this.page_url, '_blank');
	}, maxValue = 5, width = 30, i = 0, mc;
	for (i; i<maxValue; i++) {
		mc = _root.attachMovie('button', 'button'+i, i, {_x:width*i});
		mc.page_url = 'page'+i+'.html';
		mc.onRelease = fnc;
	}
};
this.addOnRelease(), delete this.addOnRelease
- в общем говоря, предпочтительней создавать одну функцию для всех, использующую переменные текущего объекта, чем для каждого объекта создавать собственную функцию.
сорри, не стерпел %)

Старый 14.04.2004, 21:59
Dindin вне форума Посмотреть профиль Отправить личное сообщение для Dindin Посетить домашнюю страницу Dindin Найти все сообщения от Dindin
  № 7  
Dindin
 
Аватар для Dindin

Регистрация: Feb 2004
Адрес: на колокольне Любит: плеваться
Сообщений: 1,769
Отправить сообщение для Dindin с помощью ICQ
2BitSky Как ты намерен создавать неименованную событийную функцию и при этом передавать ей параметры (поделись, может я чего-то не знаю? Или не учитываю)
__________________
судью - на мыло, из игроков - вить веревки.

Старый 14.04.2004, 22:29
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 8  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
Dindin, только без паники :)

ты создашь maxValue физически РАЗНЫХ функций, но идентичных по содержанию.

а тебе подсказывают, что лучше создать ОДНУ функцию, и всем объектам раздать ссылки на неё.

вот и всё :)

Старый 14.04.2004, 22:35
Iv вне форума Посмотреть профиль Отправить личное сообщение для Iv Посетить домашнюю страницу Iv Найти все сообщения от Iv
  № 9  
Iv
 
Аватар для Iv

Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
видимо не знаешь.
именованых функций не существует.
- странно, да?
а именно так это дело и обстоит.

существуют только безымянные функции и ссылки на них.

т.е.
this.myFunction = function () {}
- это не значит, что ты создал функцию в "this" и назвал ее "myFunction"

это значит, что ты создал в памяти компа безымянную функцию и ссылку на нее поместил в переменную this.myFunction

это относится ко всем объектам флэша - наследникам класса Object, каковыми являются практически все объекты во флэше.

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

Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
- странно, что никто не отреагировал на провокацию:
Цитата:
наследникам класса Object, каковыми являются практически все объекты во флэше


Последний раз редактировалось BitSky; 14.04.2004 в 23:05.
Создать новую тему   Часовой пояс GMT +4, время: 12:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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