|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Mar 2015
Сообщений: 26
|
Нужна помощь с отображением мукивкипов
Здравствуйте, решил обратиться к умным людям прежде чем лезть в дебри.
Короче, я хочу отобразить один кадр из MovieClip'а некоторое количество раз на экране. В цикле. Не создавая массив из этих MovieClip'ов. Можно ли использовать как-то преобразование из MovieClip'а в BitmapData прямо в цикле? метод addChild отображает только один раз (конечный). Есть идеи? Спасибо. |
|
|||||
Вы можете сделать скриншот мувика с помощью BitmapData.draw(...), затем в цикле ввести массив битмапов, каждому из которых присвоить экземпляр BitmapData, в который вы нарисовали кадр мувика, и в итоге иметь N битмап, ссылающихся на одну битмапдату.
__________________
There is no thing in this world that is not simple. Последний раз редактировалось ZackMercury; 17.11.2015 в 23:23. |
|
|||||
Регистрация: Mar 2015
Сообщений: 26
|
Спасибо, получилось. походу это придется поставить на ENTER_FRAME чтоб подобным образом перерисовывалось постоянно, если камеру двигать. Сомнительный вариант.
|
|
|||||
Зачем перерисовывать? И о какой камере идёт речь, речь ведь шла о DisplayList?
BitmapData.draw(...), вероятно, замедлит работу вашей программы, чем обычный мувиклип, если использовать первый каждый кадр.
__________________
There is no thing in this world that is not simple. |
|
|||||
Регистрация: Mar 2015
Сообщений: 26
|
Вот черновой пример кода:
Камеру я имел ввиду "условную". А вот про DisplayList мне интересно. |
|
|||||
Цитата:
Добавлено через 4 минуты Цитата:
Объявите двумерный массив, и двигайте его элементы.
__________________
There is no thing in this world that is not simple. |
|
|||||
Регистрация: Mar 2015
Сообщений: 26
|
этот кусок кода находится в классе экземпляр которого вызывается из Main. На сцену экземпляр этого класса добавляется уже после вышеупомянутого куска кода. Мне просто не хочется заводить лишний двухмерных массив чтоб отобразить простой пол. Я пытаюсь, взять маленькое 50х50 пикселей, или меньше изображение, и копировать его нужное количество раз на "экран". а потом уже вызвать stage.addChild() и пользоваться им как одним изображением. В случае выхода за границу экрана удалить не нужные removeChilAt линии и столбцы, и "дорисовать" нужные. в цикле, внутри вышеупомянутого класса. Но это не окончательное решение...
|
|
|||||
А я тебе говорю, что да. Уже сто раз эта тема обсуждалась. Кучи тестов проводили. Если у тебя уже есть готовая битмапдата, то draw() очень шустро может в нее что-то врисовывать. Я в свое время делал систему видеонаблюдения на AIR, которая с нескольких камер потоки с помощью draw() рисовала в битмапки и определяла движение с помощью бленд модов. Это не тормозило даже на слабом компе.
|
|
|||||
Цитата:
1) Рисуем мувик в битмап. 2) Создаем битмап с полом и рисуем туда методом copyPixel наш мувик из битмапки столько раз сколько нужно. 3) Когда выходим за границу экрана, то создаем новый bitmap, выравниваем его так чтобы казалось, что пол зациклен и присваиваем ему битмапдату нашего пола.
__________________
Я заклинаю вас действовать иначе. |
Часовой пояс GMT +4, время: 21:18. |
|
« Предыдущая тема | Следующая тема » |
|
|