|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
[++]
|
Чего тебе всё таки нужно то? Скажи конкретно, чем тебя не устраивает onMouseUp и т.п.?
|
|
|||||
Регистрация: Mar 2002
Адрес: Питер
Сообщений: 320
|
Nucer,
у нас есть mc1 у mc1 есть onMouseUp где-то в коде ниже есть mc1.onMouseUp второй раз. При такой схеме второй onMouseUp замещает первый. Отсюда 2 выхода: 1. Прописывать в первом onMouseUp функции второго (либо аналогично во второй первого). 2. Сделать так, чтобы они не замещались. Вот я и хочу узнать реален ли второй выход?
__________________
вот. |
|
|||||
Ты не понял. Твою проблему проанализировали ипришли к выводу, что ты что-то непл\равильно спланировал. И хотят тебе помочь. Для этого спрашивают - чего ты таким образом хочешь добиться...
__________________
судью - на мыло, из игроков - вить веревки. |
|
|||||
Регистрация: Mar 2002
Адрес: Питер
Сообщений: 320
|
хорошо.....
В ролях: - приложение "для чего -- непонятно" - клип "mc1" - событие "onMouseUp" - разработчик "я" - пользователь-программист "нет пока такого" Санкт-Петербург. Наши дни. Разработчик создал приложение с mc1 "для чего -- непонятно". Для его работы требуется обрабатывать событие "onMouseUp". Потом разработчик дал это приложение пользователь-программисту для его супер-приложения как управляющий модуль и сказал: "пользуйся им как своим этим". Отступление: Возьмем файлы file.swf и superfile.swf. В последнем напишем fileSwf.loadMovie("file.swf") либо аналогичный метод. Если в файле file.swf содержится строчка вида _root["mc1"].onMouseUp = function (){... она будет назначать обработчик для клипа по соответстсующему адресу. (смотри аттач) Далее: А пользователь-программист захотел повесить на mc1 обработчик onMouseUp... тут и возникла проблема. Либо пользователю давать какие-то специальные функции надеясь, что он не запутается и не будет боятся написать лишнюю строчку. Либо разработчику использовать нестандартные вызовы для стандартных событий, чтобы не случилась перезагрузка (Нео, ты слышал?) обработчика. Dindin, так, думаю, ясней.
__________________
вот. |
|
|||||
если разработчику обработчика позарез надо вешать обработку на объекты принимающего мувика, при этом они с разрабочиком-програмистом (я уже запутался кто из них кто ) никак не смогут договорится, то ясень день надо ' использовать нестандартные вызовы для стандартных событий'
вариант (правда тока для 6-ки): в подгружаемом мувике Mouse.addListener(Mouse); Mouse.onMouseUp=function(){this.broadcastMessage("onMyMouseUp")} _root.mc1.onMyMouseUp = function (){trace("i'm working, " + this);} Mouse.addListener(_root.mc1); |
|
|||||
[++]
|
А ведь можно, только извращённым методом. Вот, на вскидку:
Что то типа того
|
|
|||||
Регистрация: Mar 2002
Адрес: Питер
Сообщений: 320
|
silin, Nucer, спасибо
сейчас попробую....
__________________
вот. |
|
|||||
[++]
|
Или лучше так:
Очень примерно и не гарантирую, что будет работать т.к. во флэше даже не писал
|
|
|||||
Регистрация: Mar 2002
Адрес: Питер
Сообщений: 320
|
Заработало!
Теперь осталось разобраться почему.
__________________
вот. |
|
|||||
когда ты по своему сценарию применишь это добро в подгружаемом мувике
(типа 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. |
|
« Предыдущая тема | Следующая тема » |
|
|