PDA

Просмотр полной версии : on / onClipEvent


scriptum
17.08.2002, 20:03
Привет всем!

Мой мувик реагирует совершенно одинаковым образом на приказания:

on (press) {
_visible=false;
}

или

onClipEvent (mouseDown) {
_visible=false;
}

(только в первом случае вместо стрелки появляется палец).
Не сможет ли кто-нибудь из знатоков объяснить в двух словах разницу между onClipEvent и просто on?

Спасибо!

skaa
17.08.2002, 21:08
на приказание:

on (press) {
_visible=false;
}

Flash выдаёт ошибку, если я ставлю это событие на мувик. В Flash 5 (в других версиях я не работал) on (press) можно использовать только для кнопок, а становится что-то невидимым, потому что в _visible=false; в этом случае _visible отностися к тому мувику, на котором стоит эта кнопка.

scriptum
18.08.2002, 04:11
По-видимому, MX ведет себя несколько иначе, чем Флэш 5. В его списке действия "on" и "onClipEvent" относятся вообще к разным разрядам - соответственно "movie control" и "movie clip control". Мои учебники на этот счет вообще не дают, кажется, никаких разъяснений...

RDA
19.08.2002, 10:24
2 scriptum
Если не вдаваться в подробности,
on - программный аналог onClipEvent, т.е. on обработчик события, который можно задать програмнно.

AnGL
19.08.2002, 12:52
Оригинал написал(а) scriptum
Привет всем!

Мой мувик реагирует совершенно одинаковым образом на приказания:

on (press) {
_visible=false;
}

или

onClipEvent (mouseDown) {
_visible=false;
}

(только в первом случае вместо стрелки появляется палец).
Не сможет ли кто-нибудь из знатоков объяснить в двух словах разницу между onClipEvent и просто on?

Поясняю для MX.
Событие onClipEvent(mouseDown) - обрабатывается на всем stage. Т.е. работает как слухач нажатия левой кнопки мышки в любом месте, не тока на самом мувике.

Событие же on(press) относится к объектам типа "кнопка", а в MX мона программно задавать такие события для мувиклипов. Что позволяет создавать мувиклипы-кнопки %)

По большому счету в MX наблюдается сближение объектной модели кнопки и мувиклипа. Кнопка является условно-кнопкой и обладает теми же свойствами, что и мувиклип, как и наоборот.

С уважением...

scriptum
19.08.2002, 14:52
Ребята, прошу прощения за занудство - значит ли все вышесказанное, что в описанном конкретном случае можно пользоваться обеими командами без разбора? Или все-таки одна из них предпочтительна?

DeliMIter
19.08.2002, 14:56
Мне кажется, AnGL вполне доходчиво объяснил, что onClipEvent(mouseDown) срабатывает в любом месте флэшки, а on(press) - только в пределах области указанного клипа.

Nox Noctis
19.08.2002, 15:33
on (press) {// .......}

по своему действию эквивалентно:

onClipEvent (mouseDown) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
// .......
}
}

только в первом случае - объект кнопка, а во втором - мувиклип.

как справедливо заметил AnGL, в МХ можно запросто из мувиклипа сделать кнопку :)

кстати, onClipEvent (mouseDown) {} и on (press) {} определенные на одном клипе сосуществуют в мире и согласии :))

scriptum
19.08.2002, 17:20
Большое спасибо всем! Кажется, я начал что-то понимать.