![]() |
Почему в setinterval не работает prototype
Подскажите пожалуйста, почмему protorype не работает в setinterval. С чем это связано. Если я заменяю this._alpha = param1; на mc_1._alpha = param1; То всё работает. А таких мувиков, как mc_1 в которых находится картинка у меня много. В коде происходит изменение alpha мувика по синусойде. Как быть что делать помогите пожалуйста.
_global.param=100; _global.checks=0; MovieClip.prototype.SinAlpha = function (){ if (checks<>0) {param++;} if (checks<>1) {param--;} if (param>=100) { param=100; checks=0; } if (param<=0) { checks=1; param=0 } n=(param/100)*(Math.PI/2); param1=Math.sin(n)*100; this._alpha = param1; updateAfterEvent(); } setInterval(_root.mc_1.SinAlpha, 30); |
Если кидаешь ф-ю в setInterval, то ссылка на объект this внутри этой ф-ции будет undefined, можно передавать ссылку на объект в параметрах ф-ции. Но если надо обойти все мувики тогда можно использовать дополнительную ф-ю:
Код:
MovieClip.prototype.SinAlpha = function() { |
причину Madasan назвал правильно.
а исправить ошибку очень просто, нужноизменить последнюю строчку так: setInterval(_root.mc_1, "SinAlpha", 30); |
| Часовой пояс GMT +4, время: 10:43. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.