Замена растрового изображения в видеоролике во Flash - PullRequest
1 голос
/ 14 ноября 2011

Я использую функционал Actionscript 3 и играю в игру, в которой пользователь оставляет треки на уровне.

Но теперь треки - это объекты в массиве, которые будут увеличиваться и увеличиваться (и со временем замедлять игру). Как я могу нарисовать их на уровне растрового изображения? А как перезагрузить растровое изображение при перезагрузке?

В течение нескольких дней искали ответ, но не нашли его.

Я знаю, как объединить растровое изображение и добавить его на сцену, но не знаю, как заменить его в объекте фрагмента ролика:

var newLevel:BitmapData = new BitmapData(grassLevel.width, grassLevel.height);
var newDebree:BitmapData = new BitmapData(debree.width, debree.height);
newLevel.draw(grassLevel);
var position: Matrix = new Matrix(1,0,0,1, user.x, user.y);
newLevel.draw(debree, position);
var bm:Bitmap = new Bitmap(newLevel);
addChildAt(bm, 21);

1 Ответ

3 голосов
/ 14 ноября 2011

Вам захочется внимательно изучить Blitting, чтобы делать то, что вы хотите.Вы можете хранить одну копию треков в памяти и копировать их в разные места.Так как в любом случае вы используете исключительно растровые изображения, я бы поспорил, что это лучший план.

Здесь есть хорошее руководство по блиттингу .

Обратите внимание, чтоне нужно добавлять новое растровое изображение на сцену каждый раз, когда вы хотите обновить изображение;он должен обновляться автоматически.

...