Показать сообщение отдельно
Старый 26.11.2007, 01:59
bjd вне форума Посмотреть профиль Отправить личное сообщение для bjd Найти все сообщения от bjd
  № 3  
Ответить с цитированием
bjd

Регистрация: Mar 2007
Адрес: Киев
Сообщений: 96
Спасибо iNils за совет, и отдельное спасибо за перевод.
С BitmapData почти получилось, но есть одно но. В приведённом в хелпе примере

Код:
 import flash.display.BitmapData;
import flash.geom.Point;

var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC);

var mc_1:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mc_1.attachBitmap(myBitmapData, this.getNextHighestDepth());

var mc_2:MovieClip = createRectangle(20, 20, 0xFF0000);

var destPoint:Point = new Point(myBitmapData.rectangle.x, myBitmapData.rectangle.y);
var currPoint:Point = new Point();

mc_1.onEnterFrame = function() {
    currPoint.x = mc_2._x;
    currPoint.y = mc_2._y;
    if(myBitmapData.hitTest(destPoint, 255, currPoint)) {
        trace(">> Collision at x:" + currPoint.x + " and y:" + currPoint.y);
    }
}

mc_2.startDrag(true);

function createRectangle(width:Number, height:Number, color:Number):MovieClip {
    var depth:Number = this.getNextHighestDepth();
    var mc:MovieClip = this.createEmptyMovieClip("mc_" + depth, depth);
    mc.beginFill(color);
    mc.lineTo(0, height);
    mc.lineTo(width, height);
    mc.lineTo(width, 0);
    mc.lineTo(0, 0);
    return mc;
}
всё замечательно работает, но если например повернуть mc_1

Код:
mc_1._rotation = 90;
то почему-то происходит hitTest области до поворота.

Что и как необходимо делать, что-бы после поворота mc_1 хиттестилась уже повёрнутая область?