Я рисую растровые изображения фрагментов ролика, которые затем загружаю в свою функцию проверки результатов для проверки на столкновения. Однако я не совсем уверен, как добавить в приведенный ниже код, чтобы учесть и отрисовать растровые изображения для видеоклипов, которые были масштабированы и / или повернуты. Приведенный ниже код, очевидно, работает только с непреобразованными фрагментами роликов. Я включил в комментарии код, который я уже пробовал, но безуспешно.
При добавлении отрисованного растрового изображения в рабочую область, независимо от того, трансформируется ли рассматриваемый фрагмент ролика или нет, отрисованное растровое изображение «обрезается» и отрисовывается неправильно - кажется, что отрисовывается только его часть. Однако это не особенно влияет на тестирование коллизий для непреобразованных фрагментов ролика, но отрицательно влияет на преобразованные фрагменты роликов.
Все видеоклипы, которые я хочу нарисовать, были созданы с помощью свойства graphics.
//for example:
var mymc:MovieClip = new MovieClip();
var g:Graphics = mymc.graphics;
g.moveTo(0,0);
g.lineTo(17.5,0);
g.lineTo(8.75,17.5);
g.lineTo(-8.75,17.5);
g.lineTo(0,0);
основной код:
for each(var mc:MovieClip in impassable) {
//var bMatrix:Matrix = new Matrix();
//bMatrix.scale(mc.scaleX, mc.scaleY);
//bMatrix.rotate(mc.rotation * (Math.PI/180));
var bData:BitmapData = new BitmapData(mc.width, mc.height, true, 0);
//bData.draw(mc, bMatrix);
bData.draw(mc);
var bitmap:Bitmap = new Bitmap(bData);
bitmap.x = mc.x;
bitmap.y = mc.y;
var HitTest:Number = newCollision(bitmap, centerX, centerY, 13.7);
Есть предположения? Благодарность
Bitmap
клон преобразованногоDisplayObject
. Похоже, это может сделать то, что вам нужно? (Хотя, очевидно, вы можете избавиться от лишнего шага по размещениюBitmap
на сцене). - person David Mear   schedule 12.04.2013