Показать сообщение отдельно
Старый 22.03.2015, 19:59
Wormhole вне форума Посмотреть профиль Отправить личное сообщение для Wormhole Найти все сообщения от Wormhole
  № 4  
Ответить с цитированием
Wormhole
 
Аватар для Wormhole

Регистрация: Jun 2014
Адрес: Санкт-Петербург
Сообщений: 185
Цитата:
Сообщение от ZackMercury Посмотреть сообщение
Если собираете уровень в Flash IDE, то выделите все платформы и нажмите F8, затем окей и дайте инстанс нейм container.

Код AS3:
var bmpDt:BitmapData = new BitmapData(container.width, container.height, true, 0x00000000);
bmpDt.draw(container);
removeChild(container);
Затем вот так:
Код AS3:
var bmp:Bitmap = new Bitmap(bmpDt);
bmp.x = container.x;
bmp.y = container.y;
addChild(bmp);
И теперь мы можем делать с растровой копией контейнера с платформами буквально всё, что захотим.
Код AS3:
if(bmpDt.getPixel32(positionOnBitmap.x, positionOnBitmap.y) >> 24 > 0) trace("Point hits a visible pixel");
Правда для проверки столкновения с точкой в целом, а не конкретно на битмапдате, нужно от positionOnBitmap.x отнимать bmp.x, а от positionOnBitmap.y соответственно bmp.y.

Добавлено через 5 минут
Сейчас попробую быстро набыдлокодить накатать пример...
Ха! А я уж боялся просить код. Теперь все понятно. Действительно просто. Спасибо!!!