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

Регистрация: Mar 2007
Адрес: Киев
Сообщений: 96
Поворачиваю Matrix,
но все равно почему-то происходит hitTest области до поворота.

Код:
import flash.display.BitmapData;
import flash.geom.Point;
import flash.geom.Matrix;
import flash.geom.Transform;
//--------------------------------------------------------------

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

var mc_1:MovieClip = this.createEmptyMovieClip("mc1", this.getNextHighestDepth());
mc_1.attachBitmap(myBitmapData1,this.getNextHighestDepth());
//--------------------------------------------------------------

var myBitmapData2:BitmapData = new BitmapData(20, 20, false, 0x0055111);

var mc_2:MovieClip = this.createEmptyMovieClip("mc2", this.getNextHighestDepth());
var mc_in2:MovieClip = mc_2.createEmptyMovieClip("mcin2", this.getNextHighestDepth());
mc_in2.attachBitmap(myBitmapData2,this.getNextHighestDepth());
//--------------------------------------------------------------

mc_y = 50;
mc_x = 50;
mc_rotation = Math.floor(Math.random() * 360) * 0.0174;

var myMatrix:Matrix = new Matrix();
myMatrix.rotate(mc_rotation);

var translateMatrix:Matrix = new Matrix();
translateMatrix.translate(mc_y,mc_x);

myMatrix.concat(translateMatrix);

var rectangleTrans:Transform = new Transform(mc_1);
rectangleTrans.matrix = myMatrix;
//--------------------------------------------------------------

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

onEnterFrame = function () {
	currPoint.x = mc_2._x;
	currPoint.y = mc_2._y;
	if (myBitmapData1.hitTest(destPoint, 250, myBitmapData2, currPoint)) {
		trace("// Collision at x:" + currPoint.x + " and y:" + currPoint.y);
	}
};

mc_2.startDrag(true);
help me, please...