PDA

Просмотр полной версии : Button + эффекты


Akel
30.09.2009, 17:44
Начинаю потихоньку переходить на АС и создавать что-то интерактивное :)
Вот собственно задача:
Есть кнопка - шарик, написал АС, что при наведении на него он плавно увеличивается до 150%, когда курсор с него уводится, он так же плавно уменьшается до 100%.
Теперь хочу добавить к этому шару свойства кнопки, т.е. по клику на нем осуществлялся бы переход на какую-то страницу в Web. Но столкнулся с проблемой - просто так это не получается сделать, думал попробовать основной шар сделать кнопкой, у нее прописать getUrl, а уже в ней в кадре наведения вставить шар Муви Клипом и на нем прописать АС по плавному увеличению - но как-то с этим тоже не получилось...
Подскажите как это осуществить?
заранее спасибо)

ПС - мне нужно именно плавное увеличение, резкое понятно как сделать - просто в кадре наведения увеличить объект, но это не ахти смотрится.

А, ну и еще сразу тогда спрошу - чтобы добавить к этому шару анимацию при наведении на него (блик) - нужно в кнопке в кадре наведения сделать мувиклип, в котором уже сделать сам блик, который будет появляться при наведении?

amesqit
30.09.2009, 17:52
А что именно не получается? События наведения onRollOver, отведения onRollOut, событие нажания onRelease или onPress, все это прекрасно работает друг с другом.

Akel
30.09.2009, 18:03
function zoomIn(){
this.onEnterFrame = function() {
if (this._xscale < 150) {
this._xscale +=10;
this._yscale +=10;
}
}
}

function zoomOut(){
this.onEnterFrame = function() {
if (this._xscale > 100) {
this._xscale -=10;
this._yscale -=10;
}
}
}

shar.onRollOver = zoomIn;

shar.onRollOut = zoomOut;

это скрипт для шарика простого.
когда его прописываю как описал для мувиклипа, который находится в кадре наведения в кнопке мне пишет:Statement must appear within on/onClipEvent handler
что это конкретно значит я пока особо не понимаю =\

Единственное, что могу предположить - это внутри мувиклипа в кадре наведения сделать еще один мувиклип, с которым уже это все делать...но что-то как то сложно получается...а практика показала, что все очень простые способы решения)

Psycho Tiger
30.09.2009, 18:15
Надо код этот на кадр поместить, а вы его на клип вешаете.

Akel
30.09.2009, 18:19
А просто в кадре он мне пишет, что почему то нельзя туда ничего вставлять...
почему то вот в кнопках вот так вот...или что-то где то нужно поменять?

Wolsh
01.10.2009, 09:53
Кнопки перестали использовать в прошлом веке.
Код в кадре кнопки не пишется. Сделайте кнопку мувиклипом и не стройте себе проблемы. Все кнопочные события мувиклип поддерживает.

Akel
01.10.2009, 20:08
в смысле перестали использовать кнопки? о0
а как же замечание программы, что код GetUrl пишется только для кнопки - или его можно дописывать не только к кнопкам?

Bitcoolman
01.10.2009, 22:17
не только... почти ко всему...

amesqit
02.10.2009, 12:40
Akel, надо относиться к getUrl как к методу для перехода на страницу, т.к. он не привязан к клипу или кнопке, просто данный метод, чаще всего, более логично вызывать после нажатия на кнопку или клип. Клипы в качестве кнопок дают больше возможностей для анимации на таймлайне, обрабатывая наведение и отведение мыши переходами gotoAndPlay() клипа и выполняя необходимые функции на событиях нажатия.

Wolsh
02.10.2009, 13:14
Но вообще Psycho Tiger имел в виду, что этот код должен быть расположен не на кнопке и не на кадре кнопочного таймлайна, а "снаружи"))) В том кадре, в котором Ваша кнопка.

Akel
02.10.2009, 15:58
Появился тут еще 1 вопрос тоже про кнопку, чтобы не создавать новую етму спрошу тут:
в общем почему-то не работает кнопка, еще даже на превью во флеше, хотя до этого делал баннер - на нем все работает настройки одинаковые =\
весь код это
on(release) {
getURL("213456.ru")
}
никаких ошибок не выдает, просто нет рекции на кнопку... подскажите плз с чем это может быть связано?

KiL33
02.10.2009, 21:29
Из хелпа
getURL(url:String, [window:String, [method:String]]) : Void

_self specifies the current frame in the current window.
_blank specifies a new window.
_parent specifies the parent of the current frame.
_top specifies the top-level frame in the current window.

Что мешает то заглядывать иногда..?

Не вижу уже смысла учить ас2..тогда уж лучше начинать с ас3