Вход

Просмотр полной версии : Динамические movieclip-ы, как перехватить нажатие мыши


Slider2001
25.07.2002, 15:13
Имеются динамические movieclip-ы. Пусть например один из них называется mc[1]. Как сделать, чтобы при нажатии на него мышой что-нибудь происходило, например getURL();
Может нужно как-то использовать onClipEvent(mouseDown)? А как это сделать для динамических объектов.
mc[1].onClipEvent(mouseDown)
{
...
}
не работает.

lexass
25.07.2002, 15:18
mc[1].onClipEvent(mouseDown)
{
...
}

а в мануал глядел???

mc[1].onMouseDown=function()
{
...
}

hitTest

......

Slider2001
25.07.2002, 15:49
Чего-то не работает, приведите кто-нибудь, пожалуйста, какой-нибудь пример, поподробнее.

Baltika
25.07.2002, 16:00
mc1.onMouseDown=function()
{
getUrl("http://www.fbi.gov");
}

и нефиг мувики именовать mc[1] :mad:

Slider2001
25.07.2002, 16:05
да у меня их целый массив.
наведение мыши работает, которое я сделал с помощью hitTest, а нажатие нет.
Как осуществить нажатие n-го элемента массива movieclip-ов?

Baltika
25.07.2002, 16:38
_root["mc[n]"].onMouseDown=function()
{
getUrl("http://www.fbi.gov");
}

Slider2001
25.07.2002, 16:40
Так тоже не работает

Baltika
25.07.2002, 16:43
все должно работать ...
если конечно мувы валяются в руте .. ;)

Baltika
25.07.2002, 16:46
ну.... если уж совсем динамически, то так :
n = ... ;
_root["mc["+n+"]"].onMouseDown=function()
{
...
}

lexass
25.07.2002, 16:59
Baltika, непарься!
все должно работать :cool:


onMouseDown = function () {
for(var i in this)
if (this[i].hitTest(_root._xmouse, _root._ymouse, 1))
trace('Меня нажали :( мАй нЭйм'+this[i]+' вот так-то')
}

Baltika
25.07.2002, 17:12
ага, чет я перегрелся .... надо идти за пивом ... :))

Slider2001
25.07.2002, 17:13
не работает все равно.

Baltika
25.07.2002, 17:16
выложи исходник, посмотрим ..

lexass
25.07.2002, 17:18
точно, пора заканчивать с самодеЯтельностьЮ :mad:

Slider2001, давай исходниК :o

моя телепатическая часть мозга пошла отпуск

Slider2001
25.07.2002, 17:42
Файл

Baltika
25.07.2002, 18:08
все пашет на ура:

mas = new Array();
_root.attachMovie("t1", "t", 1);
mas[1]=this["t"];
mas[1]._x=100;
mas[1]._y=100;

onMouseDown = function () {
mas[1].onMouseDown=function()
{
trace ("function");
}
}


//onMouseDown();

Slider2001
25.07.2002, 18:14
Что же тогда у меня не работает?

voro_bej
25.07.2002, 18:27
Может так пойдет?

Slider2001
25.07.2002, 18:30
Так-то я уже давно сделал. Я хотел бы, чтобы что-нибудь происходило при нажатии мыши, а не при наведении ее.

Baltika
25.07.2002, 18:39
смотри

Slider2001
25.07.2002, 18:48
Что-то файл пустой.

voro_bej
25.07.2002, 18:50
Кнопка лучше

Baltika
25.07.2002, 18:56
ыЩе раз

Slider2001
25.07.2002, 18:59
Файл вообще не открывается 2.zip->1.fla

voro_bej
25.07.2002, 19:01
Эт наверное потому что у тебя 5 FLASH, а у Baltika MX

Baltika
25.07.2002, 19:05
попробуй этот, возможно ВинРар 3 шалит ..

voro_bej
25.07.2002, 19:27
Теперь, я думаю, это то, что ты хочешь.

lexass
26.07.2002, 10:11
2voro_bej
а что этот трэйс казать должен???
trace('It is me'+mas[i]);
только "It is me"

Baltika, пора заканчивать с виагроЙ ;)


Оригинал написал(а) voro_bej

Кнопка лучше
Чем? :rolleyes:

Slider2001
26.07.2002, 12:12
А как я могу передать сюда в trace переменные. Их здесь не видно.

lexass
26.07.2002, 12:15
Оригинал написал(а) Slider2001
А как я могу передать сюда в trace переменные. Их здесь не видно.

Сюда - это куда
невидно - где

у меня всегда все видно :D ;)

Slider2001
26.07.2002, 12:19
В trace:

onClipEvent (mouseDown) {
if (this.hitTest(_root._xmouse, _root._ymouse, true) == 1){
trace('It is me'+i);
}
}

Почему здесь не видно переменной i, например, которая прописана в кадрах?

lexass
26.07.2002, 12:40
в каких КАДРАХ ????????????????

все чЁ издеваются чтоль ???????

где ты трЭйсишь?

А где i лежит?

А пути до них ?

Baltika
26.07.2002, 12:41
мдя........ . :D :cool: ;)

lexass
26.07.2002, 12:51
филиал:
http://flasher.ru/forum/showthread.php?threadid=34966

voro_bej
26.07.2002, 12:59
Оригинал написал(а) lexass
а что этот трэйс казать должен???
trace('It is me'+mas[i]);
только "It is me"

Ты знаешь, вставлял эту строку чисто автоматом. Для меня главна была реакция на нажатие мыши а не вывод ПРАВИЛЬНОЙ информации в trace.
2Slider2001:
вместо mas[i] пиши _parent._name

lexass
26.07.2002, 13:06
Оригинал написал(а) voro_bej

Для меня главна была реакция на нажатие мыши

Гы%)
тогда зачем такие сложности :rolleyes: :confused: :mad:


onMouseDown=function()
{
trace ("MouseDown")
}


и все, рекция бут как наДО :p :cool:

Baltika
26.07.2002, 13:10
lexass, ГЫ
эт и так было ясно с самого начала
;)))

но видимо, не всем нравятся легкие пути .... :)))

lexass
26.07.2002, 13:14
xz = {};xz.onMouseDown = function (){trace ("You pressed a Mouse.")
}
xz.onMouseUp = function (){trace ("You released a Mouse.")};Mouse.addListener(xz);

;)

voro_bej, посадка разрешена :)

voro_bej
26.07.2002, 13:23
Извини, борода, у меня 5-ка, может быть в этом вся фигня, но код не работает.

lexass
26.07.2002, 13:38
voro_bej, а ты еще в прошлом веке Живешь :D :D :D

имеем поставленый вопрос:mc[1].onClipEvent(mouseDown)
{
...
}

voro_bej, ну чего ты лезешь???
ты в 5-ке видел чтоб такое :
МС.onMouseDown = function (){trace ("You pressed a Mouse.")}
*РАБОТАЛО*

А такое :
xz.onClipEvent(mouseDown){trace('ok')}
вааще нехотит

Baltika
26.07.2002, 13:39
воробей, значит ты залез не в ту песошницу...
отдай ведерко!

:p :)

voro_bej
26.07.2002, 13:50
Оригинал написал(а) Slider2001
Файл вообще не открывается 2.zip->1.fla
Оригинал написал(а) voro_bej
Эт наверное потому что у тебя 5 FLASH, а у Baltika MX
Так, что lexass
Оригинал написал(а) lexass
учись плавать, ака читать
:D :D :D

lexass
26.07.2002, 13:58
Оригинал написал(а) lexass
учись плавать, ака читать


Да это я поспепшил, надо было сказать :
- учись летать :D :D :D

воробей, значит ты залез не в ту песошницу...
отдай ведерко!
и совоЧек
:p :)

voro_bej
26.07.2002, 14:15
:)
Да ладно lex, не обижайся. Мы пошутили - все посмеялись.
Я вчера как-то нехорошо с тобой обошелся, ну извини меня грешного, с кем не бывает -> настроение было паганое.
Лады? ;)

lexass
26.07.2002, 14:53
Гы%)
я типа обиделся, эт ты так думаешь
я - не водовоз :)