![]() |
вопрос по setInterval&setInterval
кто может пояснить данную запись:
_root.mcMain.onEnterFrame=function(){}; _root.iIntervalID=setInterval(function(){_root.mcMain.onEnterFrame=MoveMovie; clearInterval(_root.iIntervalID); }, 2000); ??? ЗАранее благодарен |
мне нужно чтоб какое то время оnEnterFrame тормознул а потом заработал
|
ну во первых пустой обработчик...
_root.mcMain.onEnterFrame=function(){}; можно выкинуть... а во второй строке присваится переменная с нежелательным для нее именем...и очищяется интервал... |
как понять к нежелательным для нее именам...?
|
как мне сделать чтоб эта функция тормознула а потом заработала....а при данном коде она сначала работает а потом тормозит:(
|
и еще вопрос как с помощью attachMovie вытащить из библиотеки два экземпляра и разместить на разных определенных координатах и обеспечить какое то действие над ними в цикле(уменьшение размеров, альфы)? у меня пока даже вытащить и разместить их не получается вот что я писал
t=200; // так как у меня первые уровни заняты другими приаттаченными мувами начинаем с 200 - го уровня for (t;t<5;t++){ nam = "svet"+t; _root.attachMovie("svet1", nam, t); _root[nam]._x = 200; _root[nam]._y = 200; как другому экземпляру задать другие координаты? |
первое -
Код:
_root.frameFunction = function() {что за "другой экземпляр" и "другие координаты" ? |
у меня в библиотеке есть мув название у него svet1 я в linkage прописываю svet1 и теперь я хочу чтобы два экзепляра этого svet1 появились в определенных координатах
|
можно создать массив с координатами для каждого экземпляра
и при аттаче всем раздать свои... вроде того: Код:
coord = [] |
Nox у меня вопрос : ты заменил код
alfa = getProperty (this,_alpha); if (alfa>0){alfa-=4}; setProperty(this, _alpha, alfa); sx = getProperty (this,_xscale); if (sx>0){sx-=0.5}; setProperty(this, _xscale, sx); sy = getProperty (this,_yscale); if (sy>0){sy-=3}; setProperty(this, _yscale, sy); на: this._alpha -= 4*(this._alpha>0); this._xscale -= 0.5*(this._xscale>0); this._yscale -= 3*(this._yscale>0); на много проще и меньше.....вопрос в том: 1) работает ли твой код быстрее, если да то почему? 2) первый раз вижу чтобы так писали, потому что недолго еще программирую во флэше....где можно почитать об этом или если не сложно объясни вкратце как это делать, думаю многим было бы интересно? |
Цитата:
правда не факт что это хорошо ;) мне нравится оформлять код так.. и в большинстве случаев это только дело вкуса как именно написать.. Цитата:
в МХ короче ведь записать обращения через точки. точечный синтаксис тормознее, да. но ты даже на самой скромной машине вряд ли почувствуешь это... слишком невелика разница. если интересуют точные подробности - то тебе на http://flasm.sourceforge.net/ (где-то видел на русском эту доку. забыл где именно) насчет конструкций вроде: this._alpha = 4*(this._alpha>0) если придет какой-нить зануда, то он тебе докажет что этот код работает медленнее чем просто ифы и (set/get)Property... но зато тут всего одна строчка, а не пять :) (this._alpha>0) - возвращает значение Булева типа. при математических операциях это значение преобразуется к числовому: false дает ноль, true дает единицу. соотвтетсвенно если альфа не положительная - там будет 0. если положительная - то 1. ну вот. это и заменяет твой ИФ... |
вопрос:
this._alpha -= 4*(this._alpha>0); в принципе все понятно: выполнять над данным мувиком -=4 по _alpha до тех пор пока _alpha>0 .... как понимать "*" ? также я встречал что так пишут: a=Math.random()*50 могу ошибиться; |
если альфа неположительна - умножишь 4 на ноль :)
если отрицательна - то на 1 вот и все.. это выполняет функции твоего ифа :) |
как понимать "*" ?
|
МАТЕМАТИЧЕСКИЙ ЗНАЧОК УМНОЖЕНИЯ :D
|
Nox по setInterval, я вот читал хелп по нему там написано что
пример 1: Следующий пример вызывает литерал функции КАЖДЫЕ 1000 милисекунд (каждую секунду). setInterval( function(){ trace("interval called"); }, 1000 ); а как понять что в этом коде: iIntervalID = setInterval(function(){_root.mcMain.onEnterFrame=start; clearInterval(_root.iIntervalID);}, 2000); функция start начинает выполняться ЧЕРЕЗ 2 сек как я понял устанавливает интервал времени через который вызвать определенную функцию но почему в первом коде вызывается постоянно а во втором только один раз .... из-за clearInterval(_root.iIntervalID);???? |
функция заданная сетИнтервалом выполняется каждые # милисекунд, начиная с # милисекунды с момента вызова сетИнтервала :) это же логично...
|
Nox у меня вопрос вот если у меня изображение (растр) а я хочу его сделать ярче (эффект лампочки) - мне нужно изменить алфу, НО как я понимаю алфа по умолчанию 100% ... что доказало тщетность моих попыток изменить ее через прямое обращение :
_root.cabina.fara1.f1._alpha += 3*(_root.fara1.f1._alpha<150); как мне можно это сделать ? |
у альфы предельное значение - 100
|
Nox ...
var nam = _root.attachMovie("svet", "svet"+t, t+200); nam._x = coord[t].x; nam._y = coord[t].y; вопрос что означает после [t], .x ??? что такое .х? |
вопрос
var nam = _root.attachMovie("svet", "svet"+t, t+200);
nam._x = coord[t].x; nam._y = coord[t].y; вопрос что означает после [t], .x ??? что такое .х? |
Хи
Добрый день.
coord - это некий созданный объект, в котором созданны объекты с именами [t], которые в свою очередь имеют свойства (переменные) x и y, содержащие данный. Вот и все. PS: Я сомневаюсь в записи coord[t] - может ли имя объекта быть цифрой. удачи |
Flasham, именем свойства может быть что угодно :)
а в данном случае там вообще массив объектов. то есть coord - массив, а в нем объекты со свойствами x и y |
Цитата:
|
Цитата:
|
| Часовой пояс GMT +4, время: 12:26. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.