Показать сообщение отдельно
Старый 25.03.2016, 23:00
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 12  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от Godwarlock Посмотреть сообщение
Всем привет. Создается к примеру 2000 объектов. Добавление объектов идет таким образом
Код AS3:
var model:MovieClip = new (ApplicationDomain.currentDomain.getDefinition("object_" + id) as Class);//object_+id - это ссылка на экземпляр movieClip с картинкой.
addChild(model);
Скажите чем плох таков вариант, если подобных объектов очень много добавляется на сцену? Подскажите другие варианты реализации, более оптимизированные, если таково надо.
Взгляд зацепился за название переменной "model". Обычно так называют модель данных, но не визуалки.
А вариант очень хороший. Он хорош тем, что вы не должны вкомпиливать все классы ваших 2000 объектов.
Ну, можно заменить на
Код AS3:
getDefinitionByName("object_" + id);

Цитата:
каким образом мне тогда двигать карту и персонажа? У сцены нет свойства x,y поэтому двигать её не получится, но можно двигать объекты который расположены на всей это сцене. Получается надо брать координаты каждого объекта(то есть все 2000) и смещать в нужную сторону?
Нет, конечно, всех двигать по отдельности не нужно. Это чревато потерей производительности. Всех очень хорошо двигает контейнер, в котором "все" находятся. Двигайте контейнер. А все его дети двигаются чисто математически через матрицы трансформации. Математика работает быстро. Это и есть "камера". Вы можете её сделать без as3isolib.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 25.03.2016 в 23:11.