![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Добрый день. Имеется, к примеру, большое игровое поле 100x100. Каждая клетка это экземпляр класса, который наследуется от MovieClip'a. Внутри происходит простая заливка цветом beginFill и т.п. Проблема в том что при большом кол-ве таких объектов (>5000) все это дело начинает здорово тормозить. Вопрос: уменьшатся ли тормоза если использовать заливку beginBitmapFill? Как в данной проблеме может помочь классы Bitmap'a? И как вообще можно увеличить FPS при таком большом кол-ве объектов, видимых одновременно на экране? (от MovieClip отказаться не могу - должен регировать на события Mouse и т.п.)
Заранее спасибо Вам за ответы. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Используй cacheAsBitmap
|
|
|||||
|
Спасибо за совет. Стало лучше, но не достаточно (окошко что скрипт слишком долго работает все же вываливается). Есть еще способы ускорить работу?
|
|
|||||
|
Наверное потомучто это объекты наследники MovieClip'oв,а не сами MovieClip'ы в чистом виде - хотя по сути, это накак не влияет на проблему.
|
|
|||||
|
Да к сожалению с таким кол-вом объектов (10000) тормозит всегда - даже если это просто квадратики. Решение придумал немного другое. Поскольку все поле состоит клеток, то я изменил класс GameCell на простой класс с данными GameCellData (GameCell был наследником MovieClip) и также создаю экземпляры этого класса и присваиваю им те же свойства что были у класса GameCell. Только поле сейчас создается как простая сетка и клетка на которой находится Mouse определяется исходя из размера клетки и т.п. параметров - математически.
|
|
|||||
|
Игровое поле с фишками, состоящее из клеток. При небольших размерах 3x3 - 70x70. Все работет красиво и хорошо, а уже при 70x70 становится уже плохо - выпадает алерт о слишком долгой работе, вот и приходится прибегать к таким вот извращениям.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А с чего это выпадает алерт? Ты разве выполняешь какие-то длинные вычисления? Или у тебя алерт при построении вылетает? Если да, то строй блоками, скажем, 5x5 за кадр.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 12:53. |
|
|
« Предыдущая тема | Следующая тема » |
|
|