PDA

Просмотр полной версии : Можноли програмно превратить MovieClip в Button?


Arges
10.11.2005, 02:44
Ситуация такая:
Есть MovieClip`ы.кот-е сортируются по глубине, затем hittest`ом отбираются пересеченные курсором и из них выбирается тот кот-ый лежит выше всех...
Гораздо легче было бы превратить мувики в кнопки и с курсором взаимодействовала только самая верхняя кнопка(никакого hittesta и лишних скриптов).
Возможно ли это превращение?

Что такое хорошо?
10.11.2005, 03:15
Если я правильно понял, то тут тебе может помочь бихэйвер, который меняет глубину объектов.
И, возможно тогда, тебе не надо будет кнопок и хит-тестов.
for (c=0; c<70; c++) {
this["mc_"+c].onRollOver = function() {
mx.behaviors.DepthControl.bringToFront(this);
};
}

Arges
11.11.2005, 02:33
мои скромные познания не позволяют мне расшифровать строчку
mx.behaviors.DepthControl.bringToFront(this);
f1 - help not found
буду благодарен за разъяснения)

Жень Шень
11.11.2005, 13:39
Привет!
Я, честно, не понял в чем проблема. Но, то что мувики-кнопки гораздо удобней чем стандартные кнопки, даже доказывать не собираюсь.
Вот, нацарапал простенький пример. Может он поможет. Мувики специально не перекрывал полностью.

Arges
12.11.2005, 14:56
На самом деле в моем случае ситуация усложняется тем, что каждый раз в пустом мувике(EmptyMovieClip)програмно рисуется некая фигура,которая и должна превратиться в кнопку.Причем этих мувиков несколько и они лежат не разной глубине.
Кроме hittest`а я не знаю способа как заставить взаимодействовать мувик и курсор,но это происходит сразу с несколькими мувиками лежащими на разных глубинах ,а нужно только самый верхний,как если бы это были кнопки

iNils
12.11.2005, 15:26
Просто вешаешь на мувиклип событие onRollOver (onRelease и тд). И самый верхний клип всегда будет перехватывать событие на себя.

ffffff
12.11.2005, 15:53
ага. я то же уже зхабыл про button. всегда через mc всё делаю. воть только не знаю насколько это правильно.

iNils
12.11.2005, 16:12
ага. я то же уже зхабыл про button. всегда через mc всё делаю. воть только не знаю насколько это правильно.
Раз дали возможность, значит правильно (раньше же только кнопки и были кнопками)

Arges
12.11.2005, 17:01
Ага, спасибо,сразу не въехал

Что такое хорошо?
15.11.2005, 04:31
мои скромные познания не позволяют мне расшифровать строчку
mx.behaviors.DepthControl.bringToFront(this);
f1 - help not found
буду благодарен за разъяснения)

В папке, где установлен Flash (обычно это C:\Program Files\Macromedia\Flash MX 2004) есть папка Samples (или Exemples - не помню точно).
Вот там есть примерчик с фотоальбомом.
onPress написано? Тогда попробуй на onRollOver!
Может в конкретном случае это тебе и не прогидится, но в общем - все что там показано - совсем не противопоказано ;)