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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 12.07.2004, 16:59
Nucer вне форума Посмотреть профиль Отправить личное сообщение для Nucer Посетить домашнюю страницу Nucer Найти все сообщения от Nucer
  № 11  
Nucer
[++]
 
Аватар для Nucer

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 839
Отправить сообщение для Nucer с помощью ICQ
Чего тебе всё таки нужно то? Скажи конкретно, чем тебя не устраивает onMouseUp и т.п.?

Старый 12.07.2004, 18:25
wwwita вне форума Посмотреть профиль Отправить личное сообщение для wwwita Найти все сообщения от wwwita
  № 12  
wwwita

Регистрация: Mar 2002
Адрес: Питер
Сообщений: 320
Nucer,

у нас есть mc1
у mc1 есть onMouseUp
где-то в коде ниже есть mc1.onMouseUp второй раз.

При такой схеме второй onMouseUp замещает первый.

Отсюда 2 выхода:
1. Прописывать в первом onMouseUp функции второго (либо аналогично во второй первого).
2. Сделать так, чтобы они не замещались.

Вот я и хочу узнать реален ли второй выход?
__________________
вот.

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

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

Старый 12.07.2004, 22:25
wwwita вне форума Посмотреть профиль Отправить личное сообщение для wwwita Найти все сообщения от wwwita
  № 14  
wwwita

Регистрация: Mar 2002
Адрес: Питер
Сообщений: 320
хорошо.....

В ролях:
- приложение "для чего -- непонятно"
- клип "mc1"
- событие "onMouseUp"
- разработчик "я"
- пользователь-программист "нет пока такого"

Санкт-Петербург. Наши дни.

Разработчик создал приложение с mc1 "для чего -- непонятно".
Для его работы требуется обрабатывать событие "onMouseUp".
Потом разработчик дал это приложение пользователь-программисту для его супер-приложения как

управляющий модуль и сказал: "пользуйся им как своим этим".

Отступление:
Возьмем файлы file.swf и superfile.swf. В последнем напишем fileSwf.loadMovie("file.swf")

либо аналогичный метод. Если в файле file.swf содержится строчка вида

_root["mc1"].onMouseUp = function (){... она будет назначать обработчик для клипа по

соответстсующему адресу. (смотри аттач)

Далее:
А пользователь-программист захотел повесить на mc1 обработчик onMouseUp... тут и возникла

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

будет боятся написать лишнюю строчку.

Либо разработчику использовать нестандартные вызовы для стандартных событий, чтобы не

случилась перезагрузка (Нео, ты слышал?) обработчика.

Dindin, так, думаю, ясней.
Вложения
Тип файла: zip opa.zip (7.9 Кб, 79 просмотров)
__________________
вот.

Старый 12.07.2004, 23:21
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 15  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
если разработчику обработчика позарез надо вешать обработку на объекты принимающего мувика, при этом они с разрабочиком-програмистом (я уже запутался кто из них кто ) никак не смогут договорится, то ясень день надо ' использовать нестандартные вызовы для стандартных событий'
вариант (правда тока для 6-ки):
в подгружаемом мувике
Mouse.addListener(Mouse);
Mouse.onMouseUp=function(){this.broadcastMessage("onMyMouseUp")}
_root.mc1.onMyMouseUp = function (){trace("i'm working, " + this);}
Mouse.addListener(_root.mc1);

Старый 13.07.2004, 16:00
Nucer вне форума Посмотреть профиль Отправить личное сообщение для Nucer Посетить домашнюю страницу Nucer Найти все сообщения от Nucer
  № 16  
Nucer
[++]
 
Аватар для Nucer

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 839
Отправить сообщение для Nucer с помощью ICQ
А ведь можно, только извращённым методом. Вот, на вскидку:
Код:
function addMovieListener( MC:MovieClip , func:Function ):Void
{
	MC.onMouseDown = function ()
	{
		if ( MC.hitTest( MC._parent._xmouse , MC._parent._ymouse , true ) )
		{
			func.call( this );
		}
	}
}
Что то типа того

Старый 13.07.2004, 19:35
wwwita вне форума Посмотреть профиль Отправить личное сообщение для wwwita Найти все сообщения от wwwita
  № 17  
wwwita

Регистрация: Mar 2002
Адрес: Питер
Сообщений: 320
silin, Nucer, спасибо

сейчас попробую....
__________________
вот.

Старый 13.07.2004, 20:29
Nucer вне форума Посмотреть профиль Отправить личное сообщение для Nucer Посетить домашнюю страницу Nucer Найти все сообщения от Nucer
  № 18  
Nucer
[++]
 
Аватар для Nucer

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 839
Отправить сообщение для Nucer с помощью ICQ
Или лучше так:
Код:
function addNewListener ( MC:MovieClip , event:String , func:Function ):Void
{
	var was:Function = MC[event];
	MC[event] = function ()
	{
		was.call( this );
		func .call( this );
	}
}
Очень примерно и не гарантирую, что будет работать т.к. во флэше даже не писал

Старый 14.07.2004, 00:05
wwwita вне форума Посмотреть профиль Отправить личное сообщение для wwwita Найти все сообщения от wwwita
  № 19  
wwwita

Регистрация: Mar 2002
Адрес: Питер
Сообщений: 320
Заработало!
Теперь осталось разобраться почему.
Вложения
Тип файла: zip alterevents.zip (4.2 Кб, 65 просмотров)
__________________
вот.

Старый 14.07.2004, 00:21
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 20  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
когда ты по своему сценарию применишь это добро в подгружаемом мувике
(типа addNewListener(_root.mc1, "onMouseDown", alterEvent)
ссылка на _root.mc1["onMouseDown"] будет null (мс1 появится тока после загрузки)
соответсвенно такой ход не пройдет
а почему работает:
сравни:
var tmp=mc1.onMouseDown;
mc1.onMouseDown=function(){
tmp();
trace("alternative event");
}

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

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

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


 


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


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