Просмотр полной версии : Увеличение кнопки
TurboDizel
05.04.2010, 22:52
Привет. Делаю так, что бы при наведении мыши на кнопку, кнопка увеличивалась до 130%, а когда мышь отводится, кнопка обратно возвращается до 100%. Но дело в том что она почему то не увеличивается, но когда я дописываю просто в строчечку _root , то увеличивается вся сцена вместе с кнопкой. И по идеи если убрать _root, то должна только кнопка увеличиваться (наплел в общем чуши, но думаю меня поняли). Вот код, пожалуйста укажите ошибку:
function onRollOver_f ()
{
this.onEnterFrame = function ()
{
if (this._xscale<130)
{
this._xscale += 5;
this._yscale += 5;
}
}
}
function onRollOut_f ()
{
this.onEnterFrame = function ()
{
if (this._xscale>100)
{
this._xscale -= 5;
this._yscale -= 5;
}
}
}
password_btn.onRollOver = onRollOver_f;
password_btn.onRollOut = onRollOut_f;
password_btn - это кнопка
Может ли быть что не работает из-за того что у меня в начале кадра написано stop(); и вообще находится кнопка на 3 кадре, можно сказать по среди флешки? - в таком случае как сделать такую кнопку что бы вставить по среди флешки
Заранее благодарю
Этот код должен работать, как вами задумано - в нем ошибок нет.
Ищите косяки в других местах.
TurboDizel
05.04.2010, 23:02
Косяк уже понял какой, то что у меня в начале стоп кадру написано, естественно работать не будет там же onEnterFrame, как тогда сделать что бы кнопочка работали без этой функции на одном кадре?
При чем тут stop() и onEnterFrame - связи между ними нет никакой.
Если вы вызываете onEnterFrame, она так и будет работать, пока не сделаете delete onEnterFrame.
См. пример - все работает, все в одном кадре.
TurboDizel
05.04.2010, 23:09
При чем тут stop() и onEnterFrame - связи между ними нет никакой.
Если вы вызываете onEnterFrame, она так и будет работать, пока не сделаете delete onEnterFrame.
См. пример - все работает, все в одном кадре.
Хм, странно, спс за подсказку а то бы с onEnterFrame мучался бы =)
Пожалуйста.
На будущее - если у вас не очень большой код, то можно так и оставить, все будет работать.
Но правильно будет после достижения пределов возрастания-убывания удалять соответствующую onEnterFrame, иначе она так и остается работать.
Типа
function onRollOver_f ()
{
this.onEnterFrame = function ()
{
if (this._xscale < 130)
{
this._xscale += 5;
this._yscale += 5;
}
else {
delete this.onEnterFrame ;
}
}
}
function onRollOut_f ()
{
this.onEnterFrame = function ()
{
if (this._xscale > 100)
{
this._xscale -= 5;
this._yscale -= 5;
}
else {
delete this.onEnterFrame ;
}
}
}
TurboDizel
05.04.2010, 23:17
Пожалуйста.
На будущее - если у вас не очень большой код, то можно так и оставить, все будет работать.
Но правильно будет после достижения пределов возрастания-убывания удалять соответствующую onEnterFrame, иначе она так и остается работать.
Типа
А из-за того что она останется могут быть какие-то проблемы?
Для вашего текущего проекта, вероятно нет. Одна забытая onEnterFrame погоды не сделает. Но вот 50 - уже может.
Просто вы опасно привыкните не убирать ненужное, а потом будете мучиться на крупном проекте - отчего все тормозит.
Или вдруг в каком-то другом проекте условие опять выполнится и забытая функция непредсказуемо отработает, вот и будете искать в 10 000 строках кода, что у вас могло сработать.
Учитесь все организовывать изначально верно. Убирать артефакты.
PS. То же относится к слушателям и т.д.
TurboDizel
05.04.2010, 23:25
Большое спасибо =) Такому в видеоуроках не учат, к сожалению. А кнопочку придется отложить, и делать дальше
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.