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

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

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

Регистрация: Apr 2006
Сообщений: 22
Отправить сообщение для semi с помощью ICQ
По умолчанию обработка нажатия кнопки для нескольких мувиков

здравствуйте!
ситуация следующая: есть несколько мувиков (в данном случае два). не хочется писать для каждого из них отдельный обработчик тыкания мышкой - действия после нажатия выполняются одни и те же...
написала следующее:
Код:
var movie_name:Array = new Array(_root.movie1, _root_movie2);

function on_press(object:Object){
   drag = true;
   _xmouse = object._x;
   _ymouse = object._y;    
}

for (i=0;i<1;i++){
	movie_name[i].onPress = function () {
		on_press(movie_name[i]);
	}
}
оно, естественно, не работает - когда срабатівает onPress для какого-либо мувика, флешу уже не извесно, чему равняется i. (примерно так я понимаю происходящее).

не могу придумать, как написать правильно. помогите пожалуйста.

Старый 15.12.2006, 10:36
Aziz Zaynutdinoff вне форума Посмотреть профиль Отправить личное сообщение для Aziz Zaynutdinoff Посетить домашнюю страницу Aziz Zaynutdinoff Найти все сообщения от Aziz Zaynutdinoff
  № 2  
Ответить с цитированием
Aziz Zaynutdinoff
 
Аватар для Aziz Zaynutdinoff

Регистрация: Feb 2006
Адрес: Moscow
Сообщений: 552
Вариант #1
Код:
var movie_name:Array = new Array();
function on_press() {
	trace(this);
	this.drag = true;
	this.startDrag();
}

function on_release(){
	this.stopDrag();
}

for (var i:Number = 0; i<10; i++) {
	movie_name[i].onPress = on_press;
	movie_name[i].onRelease = on_release;
}
Вариант #2
Код:
var movie_name:Array = new Array();

for (var i:Number = 0; i<10; i++) {
	movie_name[i].onPress = function() {
	     trace(this);
	     this.drag = true;
	     this.startDrag();
        };
	movie_name[i].onRelease = function(){
	     this.stopDrag();
        };
}

Старый 15.12.2006, 15:39
semi вне форума Посмотреть профиль Отправить личное сообщение для semi Найти все сообщения от semi
  № 3  
Ответить с цитированием
semi

Регистрация: Apr 2006
Сообщений: 22
Отправить сообщение для semi с помощью ICQ
спасибо, в таком виде все работает.
только возникла новая проблема... я хотела передать 2 параметра в функцию on_press
соответственно
Код:
function on_press(par1, par2){
    ....
}

// в цикле
   movie_name[i].onPress =  on_press(10, 20);
так нельзя писать, потому, что onPress не имеет параметров? или проблема в другом? что с этим делать?
(это для варианта №1. он более предпочтительный)

у Вас написан обработчик onRelease. работает. пишу то же самое для onReleaseOutside - не работает. даже не могу предположить почему...


Последний раз редактировалось semi; 15.12.2006 в 15:57.
Старый 15.12.2006, 16:00
semi вне форума Посмотреть профиль Отправить личное сообщение для semi Найти все сообщения от semi
  № 4  
Ответить с цитированием
semi

Регистрация: Apr 2006
Сообщений: 22
Отправить сообщение для semi с помощью ICQ
для onReleaseOutside написала on_relaese, а не on_release ))
первый вопрос пока без ответа

Старый 15.12.2006, 16:26
Aziz Zaynutdinoff вне форума Посмотреть профиль Отправить личное сообщение для Aziz Zaynutdinoff Посетить домашнюю страницу Aziz Zaynutdinoff Найти все сообщения от Aziz Zaynutdinoff
  № 5  
Ответить с цитированием
Aziz Zaynutdinoff
 
Аватар для Aziz Zaynutdinoff

Регистрация: Feb 2006
Адрес: Moscow
Сообщений: 552
А что мешает воспользоваться вторым способом и передавать туда сколько угодно много параметров?...

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

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

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


 


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


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