![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Guest
Сообщений: n/a
|
Проблема вот в чем:
Есть объект, который содержит в себе еще кучу объектов. В частности другой, который должен реагировать на наведение. Код первого: onClipEvent (mouseDown) { this.onPress = function () { startDrag (this); s=1; } } onClipEvent (mouseUp) { stopDrag (); s=2; } onClipEvent (enterFrame) { if (s==1 and (this._alpha <= 100 or this._alpha > 100) and this._alpha > 50) { this._alpha -= 3; } if (s==2 and this._alpha < 100 and this._alpha >= 40) { this._alpha += 3; } this.useHandCursor = false; } Код второго (вложен на 1 уровень вниз, относительно первого): onClipEvent (enterFrame) { this.onRollOver = function () { trace ("onRollOver called"); } this.onRollOut = function () { trace ("onRollOut called"); } } Глюк в том, что стоит кликнуть в любой области экрана, и после этого trace не выводится. Работает только перетаскивание (тут без косяков). Я предпологаю, что это вызвано тем, что после команды this.onPress = function () объект конвертируется в кнопку, а в кнопке заменяются имена на какие-то другие. Есть ли какие-либо операторы, позоляющие конвертировать тип объекта? Или же по-другому реагировать на Press? Помогите пожалуйста - со вчерашнего дня бьюсь... Уже всю пачку скурил. |
|
|||||
|
Регистрация: Jun 2005
Сообщений: 40
|
попробовал. Действительно при использовании события onPress клип, по всей видимости, получает свойства кнопки, а внутрь нее обратиться нельзя.
вот этот код рабочий: var s:Number = null;
outter.onMouseDown = function() {
if (this.hitTest(_root._xmouse, _root._ymouse, false)) {
startDrag(this);
s = 1;
}
};
outter.onMouseUp = function() {
stopDrag();
s = 2;
};
outter.onEnterFrame = function() {
if (s == 1 and (this._alpha <= 100 or this._alpha > 100) and this._alpha > 50) {
this._alpha -= 3;
}
if (s == 2 and this._alpha < 100 and this._alpha >= 40) {
this._alpha += 3;
}
};
this.outter.inner.onRollOver = function() {
trace("onRollOver called");
};
this.outter.inner.onRollOut = function() {
trace("onRollOut called");
};
|
|
|||||
|
Guest
Сообщений: n/a
|
Спасибо....но это не совсем то....у меня объект круглый, а вот эта строчка "this.hitTest(_root._xmouse, _root._ymouse, false)" делает рабочую область квадратной.
Этот способ приходил мне в голову, но убедившись, что он мне не нужен, я отбросил его. Но все равно спасибо... Может, еще что-то можно сделать? Что если каждый кадр говорить кнопке, что она MovieClip? Или как-нить сделать так, чтобы она вообще не конвертировалась? Вот только как? |
|
|||||
|
Регистрация: Oct 2005
Сообщений: 18
|
this.hitTest(_root._xmouse, _root._ymouse, true) - обнаружение конфликта будет происходить только на самом мувике
|
|
|||||
|
Guest
Сообщений: n/a
|
Спасибо, конечно... Но это опять не то... _root._xmouse, _root._ymouse устанавливает все те же квадратные рамки. Только эффект уже другой. Если кликнуть рядом с рабочей областью клипа, на другой такой же - получается, что теряют прозрачность оба.
Все равно спасибо.... Если ничего другого до конца дня не предложат - буду использовать этот метод. |
|
|||||
|
Flash Aксакал
Регистрация: Jun 2005
Сообщений: 636
|
чего то вы такого не понятного тут написали.
Последний раз редактировалось 7thsky™; 02.11.2005 в 14:31. |
|
|||||
|
Регистрация: Oct 2005
Сообщений: 18
|
Все работает
на внешнем мувике: onClipEvent (mouseDown) { if(this.hitTest(_root._xmouse,_root._ymouse, true)){ startDrag (this); s=1; } } onClipEvent (mouseUp) { stopDrag (); s=2; } onClipEvent (enterFrame) { if (s==1 and (this._alpha <= 100 or this._alpha > 100) and this._alpha > 50) { this._alpha -= 3; } if (s==2 and this._alpha < 100 and this._alpha >= 40) { this._alpha += 3; } } На внутреннем мувике: on(rollOver){trace ("onRollOver called");} on(rollOut){trace ("onRollOut called");} |
|
|||||
|
Guest
Сообщений: n/a
|
Блин! Да тупость получается.. Создай 2 круглых объекта и наложи один поверх другого, потом скопируй в каждый из них этот код. Публикуй. попробуй пошевелить один. В том месте, где его перекрывает второй... Шевелится только один, а альфу теряют оба. Вот так.
|
|
|||||
|
Flash Aксакал
Регистрация: Jun 2005
Сообщений: 636
|
ты не блинкай, ты лучше нормально объясни что у тебя не получается, потому что по первому посту ты вообще другое хотел
|
|
|||||
|
Guest
Сообщений: n/a
|
Цитата:
Надо сделать 15 шариков с текстом внутри, которые будут передвигаться пользователем по экрану. При наведении на сам текст (на самом деле там просто прозрачная обводка целого текста, чтобы удобнее было нажимать) происходит переход на другой кадр клипа с текстом (с понтом подсветка). При нажатии на текст происходит getURL на страничку.... Нужно что-то что позволит работать не с областью объекта, а самим объектом, не превращая его в батон, поскольку с ним работать вообще невозможно - там выходит кнопка в кнопке - видимо он считает это абсурдом. |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:19. |
|
|
« Предыдущая тема | Следующая тема » |
|
|