Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы (http://www.flasher.ru/forum/forumdisplay.php?f=10)
-   -   сколько условий может проверяться...? (http://www.flasher.ru/forum/showthread.php?t=60588)

treety01 13.07.2004 16:31

сколько условий может проверяться...?
 
сколько условий может проверяться одновременно
и клип при этом не будет тормозить
...и вообще есть ли придел?

Ромастый 13.07.2004 16:42

предела теоретически нет. Вопрос в том, какие условия, как проверяешь и т.п. Очень общий вопрос, нельзя ли поконкретнее?

treety01 13.07.2004 16:56

хм...
вобщем у меня много клипов и почти в каждом
клипе (onClipEvent (enterFrame)) имеется много
постоянно проверяющихся условий...
есть ли предел количества одновременновыполняющихся
операций (да обширно, но подругому мне не сформулировать)
...хотя: можноли клип загрузить условиями (if) так, чтобы он тормозил (и проверять скажем счётчики)...?

Ромастый 13.07.2004 17:24

Опять же зависит от условий.:)
Тормозят скорее всего не куча уловий, а куча событий onEnterFrame
Попробуй там где можно, использовать watch вместо постоянной проверки if,
откажись от onClipEvent, централизуй код, и для тех мувиков, где условия выполнены и не должны более проверяться, удаляй onEnterFrame.
Если здоровенное число мувиков называются как-то систематически, например mc1,mc2... , а условия совпадают, создай управляющий клип, присвой ему onEnterFrame и пусть он систематически проверят все подобные клипы.
Все, что пришло в голову, может гуру смогут чего-то еще посоветовать? Хотелось бы чего-то новое узнать...

Nucer 13.07.2004 20:53

Скажи прмерно какие условия, всё дело в этом. Например if ( true ) можно до хера вешать, а вот если у тебя какая-нибудь функция сложная возвращает значение, которое проверяется, то уже не до хера...

treety01 14.07.2004 10:30

2Romasty: пасиб за ответ =)
но я незнаю этого опера - watch....как он работает?
и кстати - "где условия выполнены и не должны более проверяться, удаляй onEnterFrame" - как это удалять?

2Nucer: условия такие:
if ((_root._xmouse>=0)&&(_root._ymouse>=240)&&(_root._ymouse<=480)&&(_root._xmouse<=454)&&(_root.treact01==1)){...}

if ((_root.mousear001[1]<>_root.mousear001[0])) {...}

if (((_root.startb001==1)&&(this._alpha<=100)&&(_root.alpb001==0))||((_root.startb001==1)&&(this._alpha<=100)&&(_root.alpb001==3))||((_root.startb001==1) &&(this._alpha<=100)&&(_root.alpb001==5))) {...}

ну и тп

...кстати, ещё момент...у меня тормозит применение к 48
клипам - _alpha = 0; (конкретно это может и не тормозит, но),
вызов одной функции из первого кадра из всех 48 клипов
одновременно некорректно работают...

Ромастый 14.07.2004 11:04

watch вызывает нужную функцию, как только переменная или параметр, который ты отслеживаешь, принимает новое значение. Это иногда удобнее, чеи постоянно проверять в каждый раз, как загрузился новый кадр.

Например ты проверяешь, изменилось ли значение параметра n в мувике mc:
mc.watch("n",tracing);
function tracing(id, oldval, newval) {
if(newval) {
trace("n изменилось! теперь n= "+n);
}
else {
trace("все по-прежнему");
}
return newval;
}

treety01 14.07.2004 11:12

пасиб...оч. кстати...
но я почемуто в хелпе этого рператора не видел...(mx 6)

Ромастый 14.07.2004 11:25

Это метод объекта Object. Все в хелпе есть:)
Кстати, забыл предупредить. Метод не проверяет свойства, имеющиеся у некотрых встроенных объектов по-умолчанию. Например _x,_y,_alpha и т.д. у MovieClip; _xmouse и _ymouse у Mouse и т.п. Только то, что задаешь сам. В твоем случае проверки координат это как раз и не сработает. Только через дополнительные переменные, а это те же яйца, только в профиль. То есть куча onEnterFrame :(

treety01 14.07.2004 11:31

дык а вы говорили про то что нужно удалять onEnterFrame...
как?


Часовой пояс GMT +4, время: 14:40.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.