![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Apr 2010
Сообщений: 137
|
Привет. Делаю так, что бы при наведении мыши на кнопку, кнопка увеличивалась до 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; Может ли быть что не работает из-за того что у меня в начале кадра написано stop(); и вообще находится кнопка на 3 кадре, можно сказать по среди флешки? - в таком случае как сделать такую кнопку что бы вставить по среди флешки Заранее благодарю Последний раз редактировалось TurboDizel; 05.04.2010 в 22:59. |
|
|||||
|
Модрон-ветеринар
|
Этот код должен работать, как вами задумано - в нем ошибок нет.
Ищите косяки в других местах. |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 137
|
Косяк уже понял какой, то что у меня в начале стоп кадру написано, естественно работать не будет там же onEnterFrame, как тогда сделать что бы кнопочка работали без этой функции на одном кадре?
|
|
|||||
|
Модрон-ветеринар
|
При чем тут stop() и onEnterFrame - связи между ними нет никакой.
Если вы вызываете onEnterFrame, она так и будет работать, пока не сделаете delete onEnterFrame. См. пример - все работает, все в одном кадре. Последний раз редактировалось mooncar; 05.04.2010 в 23:07. |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 137
|
Хм, странно, спс за подсказку а то бы с 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 ; } } } |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 137
|
А из-за того что она останется могут быть какие-то проблемы?
|
|
|||||
|
Модрон-ветеринар
|
Для вашего текущего проекта, вероятно нет. Одна забытая onEnterFrame погоды не сделает. Но вот 50 - уже может.
Просто вы опасно привыкните не убирать ненужное, а потом будете мучиться на крупном проекте - отчего все тормозит. Или вдруг в каком-то другом проекте условие опять выполнится и забытая функция непредсказуемо отработает, вот и будете искать в 10 000 строках кода, что у вас могло сработать. Учитесь все организовывать изначально верно. Убирать артефакты. PS. То же относится к слушателям и т.д. Последний раз редактировалось mooncar; 05.04.2010 в 23:30. |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 137
|
Большое спасибо =) Такому в видеоуроках не учат, к сожалению. А кнопочку придется отложить, и делать дальше
|
![]() |
![]() |
Часовой пояс GMT +4, время: 16:25. |
|
|
« Предыдущая тема | Следующая тема » |
|
|