![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Jun 2003
Адрес: Москва
Сообщений: 168
|
есть объекты разного характера, они падают, а персонаж их ловит внизу
почему у меня где-то после сотого появившегося и движущегося объекта начинает все притормаживать, объекты едут медленнее, персонаж, который ловит объекты, бегает медленнее, как будто переполнение стека или чего-то подобного??? я думаю что-то с уровнями помогите function createBadObj() { if (timeSinceLastObj>=10) { LastBadObj++; chose=random(4); if (chose==0) { attachMovie("obj1", "obj1_"+LastBadObj,LastBadObj); _root["obj1_"+LastBadObj]._x=Math.random()*690+50; _root["obj1_"+LastBadObj]._y=-20; } else if (choselogo==1) { attachMovie("obj2", "obj2_"+LastBadObj,LastBadObj); _root["obj2_"+LastBadObj]._x=Math.random()*690+50; _root["obj2_"+LastBadObj]._y=-20; } else if ... тоже самое еще два раза для двух объектов timeSinceLastObj=0; Speed=10; } timeSinceLastObj++; } function moveBadObj() { for (i=1;i<=LastBadObj;i++) { x = _root["obj1_"+i]._x; y = _root["obj1_"+i]._y + Speed; x1 = _root["obj2_"+i]._x; y1 = _root["obj2_"+i]._y + Speed; ..... также и для x2,y2,x3,y3 ....... if ((y > 500) or (y1 > 500) or (y2 > 500) or (y3 > 500)) { _root["obj1_"+i].removeMovieClip(); _root["obj2_"+i].removeMovieClip(); _root["obj3_"+i].removeMovieClip(); _root["obj4_"+i].removeMovieClip(); } else { _root["obj1_"+i]._y = y; _root["obj2_"+i]._y = y1; _root["obj3_"+i]._y = y2; _root["obj4_"+i]._y = y3; if ( (_root["obj1_"+i].hitTest(_root.mynotebook)) or (_root["obj2_"+i].hitTest(_root.mynotebook)) or (_root["obj3_"+i].hitTest(_root.mynotebook)) or (_root["obj4_"+i].hitTest(_root.mynotebook)) ) { if (score<=0) { score = 0; _root.score.text = 0; } else { score -= 1; _root.score.text = score; } _root["obj1_"+i].removeMovieClip(); _root["obj2_"+i].removeMovieClip(); _root["obj3_"+i].removeMovieClip(); _root["obj4_"+i].removeMovieClip(); } } } } |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
функции конечно не оптимизированы, но, полагаю, что из-за них не должно быть сильных тормозов.
выложи исходник. бум посмотреть. |
|
|||||
|
Я код не очень разбирал, но... LastBadObj ты где-нить понижаешь? А то цикл-то растет.
__________________
За двумя зайцами погонишься - от егеря по морде получишь |
|
|||||
|
Регистрация: Jun 2003
Адрес: Москва
Сообщений: 168
|
вот именно, переменная цикла LastBadObj все время растет, потому как объекты приаттачиваются (создаются аттачемМуви) пока не кончатся жизни, а жизнь не зависит от этого цикла, просто когда жизнь закончится - выход из игры
получается что цикл растет безгранично, это наверное плохо пробовала поставить до числа 100, а потом начинать с 0, или с 20... но тогда на экране замираются объекты на месте, которые не были пойманы или которые не дошли до конца экрана и не исчезли, а цикл начинается с новой начальной позиции может как-то обхитрить цикл? ведь ест же игры, в которых объекты появляются до тех пор, пока не кончится игра, а выход из игры предусмотрен условием, не относящимся к этому циклу? как реализуют этот механизм? |
|
|||||
|
ничего не понял... Вариантов уйма просто, не надо цикл хитрить, попробуй просто менять начальное значение цикла, его тоже увеличивать при ремуве объектов... Давай исходник =)
__________________
За двумя зайцами погонишься - от егеря по морде получишь |
![]() |
Часовой пояс GMT +4, время: 20:04. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|