![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2006
Сообщений: 5
|
Сделал на флеш модель шкафа купе. При нажатии на двери, они сдвигаются в сторону, при наведении мышки на ящик он выдвигается, а когда мышку с ящика убираешь он закрывается. Вроде код простой, но если пробовать навести мышку на ящик во время движения двери, и проделать это несколько раз, то ящик начинает страшно тормозить. Не могу понять в чем дело.
Код дверей такой: on (press) { if (!a) {a=-1;} a=-a; function vidv() { _root.dver1._x+=a; if (_root.dver1._x>914) {clearInterval(time); _root.dver1._x=914;} if (_root.dver1._x<753) {clearInterval(time); _root.dver1._x=753;} updateAfterEvent(); } var time:Number = setInterval(vidv,5); } Ящик при закрытой двери находится за ней и его не возможно активизировать. Код ящика такой: onClipEvent (load) { function vija() { _root.jashik._x+=aja; _root.jashik._y+=aja/2; if (_root.jashik._x>740) {_root.jashik._x=740; aja=0; _root.jashik._y=440;} if (_root.jashik._x<720) {aja=0; _root.jashik._x=720; _root.jashik._y=430;} updateAfterEvent(); } aja=0; setInterval(vija,5); } on (rollOver){aja=1;} on (rollOut) {aja=-1;} Для того чтобы понять суть вопроса, вкладываю в письмо исходник. |
|
|||||
|
ветеран форума
|
Странно...у меня ничего не тормиозит...
|
|
|||||
|
Регистрация: Aug 2006
Сообщений: 5
|
Когда дверь еще не до конца открыта, во время её движения, если перебрасывать мышку с двери на ящик и обратно. Двадцати раз будет достаточно. После этого ящик начинает выдвигаться и задвигаться заметно дольше. Если проделать тоже самое еще несколько раз, ящик еще замедлиться. Не пойму почему это происходит.
|
|
|||||
|
ветеран форума
|
А...заметил...но когда я пожертвовал updateAfterEvent(), тормоза исчезли, а лично для меня это почти незаметно визуально...
А если поднять частоту кадров до 24, то вообще разницу уловить не могу... |
|
|||||
|
Регистрация: Aug 2006
Сообщений: 5
|
Убрал везде updateAfterEvent(), повысил частоту кадров. Теперь заметил что чем больше раз открываешь и закрываешь дверь, тем она быстрее начинает двигаеться. Особенно это заметно если не трогать другую дверь, а потом сравнить скорость их открывания. Что за ерунда то, ничего не понимаю.
|
|
|||||
|
ветеран форума
|
Все эти странности возможно из-за того, что 5 мс - слишком маленький промежуток. Точность таймеров +-20 мс, насколько я знаю, причем это относится к системе в целом, а не только ко флешу...
|
|
|||||
|
а если попробовать делать без использования setInterval, а использовать
Transitions ?
__________________
Feсi quod potui, faciant meliora potentes |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:30. |
|
|
« Предыдущая тема | Следующая тема » |
|
|