Просмотр полной версии : Вопрос по onClipEvent (mouseDown) {}
Вопрос как развязать это событие с другим клипом ???
Суть вот в чём:
Есть 2 мувика, если я на одном ставлю
onClipEvent (mouseDown) {
}
то это же событие срабатывает и на другом, как от этого уйти ???
Хм, а не подскажешь как им пользоваться ???
Papa Karlo
05.03.2002, 17:00
2wildman:
ты че то намудрил там, получается - если стоят два чела и одному дать под зад, то подпригнут оба :eek: Давай исходник.
Оригинал написал(а) wildman
Хм, а не подскажешь как им пользоваться ???
Отчегож не подсказать? :D
ПОДСКАЖУ! ;)
Хелп почитай "F1"
т.е. RTFM
PS
там и поиск есть :cool: ;)
Papa Karlo
05.03.2002, 17:10
А я добрее :D (сегодня ;) )
Синтаксис
anyMovieClip.hitTest(x, y, shapeFlag);
anyMovieClip.hitTest(target);
Аргументы
x x-координата хит-области на сцене.
y y-координата хит-области на сцене.
Координаты x и y определены в глобальном координатном пространстве.
target Хит-область, которая может пересекаться или перекрываться с anyMovieClip. target; обычно представляет собой кнопку или динамическое текстовое поле.
shapeFlag Булево значение, указывающее воспринимать ли всю форму (площадь) мувиклипа - (true) или только его границу (рамку) - (false). Этот аргумент может быть задан только в том случае, если хит-область идентифицирована использованием координат-аргументов x и y.
Описание
Метод; вычисляет пересечение или перекрытие anyMovieClip и хит-области, указанной через target или координаты-аргументы x и y.
1-ое использование: сравнивает координаты x и y формы или ограничивающей рамки заданного мувика, в зависимости от установки shapeFlag. Если shapeFlag установлен в true, то обрабатывается только область, фактически занятая мувиком на сцене, и, если x и y совмещаются с любой точкой, возвращается значение true. Это полезно для определения находится ли мувиклип внутри указанной хит-области или нет.
2-ое использование: вычисляет пересекаются/перекрываются ли границы (рамки) target и заданного мувиклипа, если да, то возвращает true.
Player
Flash 5 или выше.
Пример
Следующий пример использует hitTest со свойствами x_mouse и y_mouse для определения местонахождения мыши:
if (hitTest( _root._xmouse, _root._ymouse, false));
Следующий пример использует hitTest чтобы определить перекрываются/пересекаются ли мувики ball и square или нет:
if(_root.ball, hittest(_root.square)){
trace("ball intersects square");
}
Papa Karlo
05.03.2002, 17:12
А я добрее :D :D :D (сегодня ;) )
Синтаксис
anyMovieClip.hitTest(x, y, shapeFlag);
anyMovieClip.hitTest(target);
Аргументы
x x-координата хит-области на сцене.
y y-координата хит-области на сцене.
Координаты x и y определены в глобальном координатном пространстве.
target Хит-область, которая может пересекаться или перекрываться с anyMovieClip. target; обычно представляет собой кнопку или динамическое текстовое поле.
shapeFlag Булево значение, указывающее воспринимать ли всю форму (площадь) мувиклипа - (true) или только его границу (рамку) - (false). Этот аргумент может быть задан только в том случае, если хит-область идентифицирована использованием координат-аргументов x и y.
Описание
Метод; вычисляет пересечение или перекрытие anyMovieClip и хит-области, указанной через target или координаты-аргументы x и y.
1-ое использование: сравнивает координаты x и y формы или ограничивающей рамки заданного мувика, в зависимости от установки shapeFlag. Если shapeFlag установлен в true, то обрабатывается только область, фактически занятая мувиком на сцене, и, если x и y совмещаются с любой точкой, возвращается значение true. Это полезно для определения находится ли мувиклип внутри указанной хит-области или нет.
2-ое использование: вычисляет пересекаются/перекрываются ли границы (рамки) target и заданного мувиклипа, если да, то возвращает true.
Player
Flash 5 или выше.
Пример
Следующий пример использует hitTest со свойствами x_mouse и y_mouse для определения местонахождения мыши:
if (hitTest( _root._xmouse, _root._ymouse, false));
Следующий пример использует hitTest чтобы определить перекрываются/пересекаются ли мувики ball и square или нет:
if(_root.ball, hittest(_root.square)){
trace("ball intersects square");
}
Оригинал написал(а) Papa Karlo
2wildman:
ты че то намудрил там, получается - если стоят два чела и одному дать под зад, то подпригнут оба :eek: Давай исходник.
:D Всё очень просто:
именно так и есть если я говорю в одном клипе
onClipEvent(mouseUp){
...
}
то оно срабатывает везде !!!
Но если я делаю следующую вещь:
onClipEvent (mouseDown) {
if (hitTest(_root._xmouse, _root._ymouse)){
.......
}
}
То всё зашибись...
Вот такая история...
А чего исходник давать по моему и так всё ясно...
Ладно, спасибо!
Ай молодца :)
разбирались недолго 1,5 часа :cool:
:D ;)
2 Papa Karlo
Давай исходник.
У меня тута исходничек на 70 метров,
а багу искать западло:(
Дык ты это, очень любишь на шару в чужом "Г.." покопаться?
Это сказано не в обиду. Но это не прально!
ЗЫ
Баги делают руки! И как правило эти же руки получают деньги
за то что делают баги!;)
Дык пусть они их и ищут :cool:
Во какой туфтологии я нагнал :)
Papa Karlo
05.03.2002, 17:38
Никак ассенизатором обозвали... Нидождетесь :o .
:D :D :D
ИМХО
Есть вопрос - есть ответ!
А типа я тут спер исходник, а разобраться немогу :mad:
Или сам понаписал, и непонимаю чего :mad:
2 Papa Karlo дык ассенизаторство тут нипричем
просто нестоит на это тратить время :cool:
Типа вот вам 30 кило кода в 300-х кадрах,
найдите мне где я условие непрально написал if(x=1)
:D ;)
Удач
Papa Karlo
05.03.2002, 17:58
Есть 2 мувика, если я на одном ставлю
onClipEvent (mouseDown) {
}
то это же событие срабатывает и на другом
Мне просто стало интересно, как это может быть, если (по моей кривой логике) "на другом" ничего "не поставлено".
Оригинал написал(а) Papa Karlo
как это может быть
.... "на другом" ничего "не поставлено".
Если постараться, то может ;)
но надо постараться :cool: :D
или написать на обоих onClipEvent (mouseDown) :mad:
Оригинал написал(а) lexass
Если постараться, то может ;)
но надо постараться :cool: :D
или написать на обоих onClipEvent (mouseDown) :mad:
Ага, тогда только один срабатывает...
Ладно, если так уж сильно заинтересовал, могу быстро исходник состряпать...
Поясню сразу:
Сщбытия onClipEvent стоят только в правом клипе, однако, при клике на левый мувик, тоже событие срабатывает...
а всё дело в том, что надо hitTest вставлять вот так:
onClipEvent{
if (hitTest(_root._xmouse, _root._ymouse)){
...
}
}
тогда события разделяются...
Вот собственно о чёмя и спрашивал. Ещё раз спасибо за помощь.
Papa Karlo
05.03.2002, 19:41
Так ты и путаешься - onClipEvent (mouseDown) значит клик вообще, а не именно на мувике. Тут проще пихнуть в мув прозрачную кнопу и прописать, что надо. Но это значит, что оно сработает во всех экземплярах данного мувика. Во избежании: если тебе нужно, чтоб сработало только от правого, дай ему имя _right, и во вложенной кнопе пиши
on(press){
if(_name=="right"){то и то};
}
Но это не значит, что низя хитТэстом(), дело вкуса.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.