HitTestObject và HitTestPoint – AS3

HitTest là 1 phương pháp đơn giản để kiểm tra khi 2 đối tượng va chạm vào nhau. Phương pháp này rất hay được dùng trong việc làm game. Ở bài này tôi giới thiệu 2 phương pháp là hitTestObject và hitTestPoint.

– hitTestObject: dùng để kiểm tra khi 2 đối tượng chẳng hạn như 2 MovieClip va chạm vào nhau.
– hitTestPoint: dùng để kiểm tra khi 1 điểm chạm vào 1 đối tượng.

Để hiểu rõ hơn, xin hãy click vào hình dưới đây.

Để có kết quả như trên, bạn cần tạo 2 MovieClip “vuong_mc” và “tamgiac_mc“. 1 đối tượng để kéo có tên là “drag_mc” và 2 dynamic text là “vuong_txt” và “tamgiac_txt” để thông báo khi các đối tượng chạm nhau.

ActionScript:

import flash.events.MouseEvent;
import flash.events.Event;

drag_mc.addEventListener(MouseEvent.MOUSE_DOWN, startMove);
stage.addEventListener(MouseEvent.MOUSE_UP, stopMove);
stage.addEventListener(Event.ENTER_FRAME, hitTestCheck);

function startMove(evt:MouseEvent):void
{
	drag_mc.startDrag();
}
function stopMove(evt:MouseEvent):void
{
	drag_mc.stopDrag();
}
function hitTestCheck(evt:Event):void
{
	//drag_mc chạm hình vuông
	if (drag_mc.hitTestObject(vuong_mc))
	{
		vuong_txt.text = "drag_mc chạm hình vuông";
	}else{
		vuong_txt.text = "";
	}
	//tọa độ chuột chạm hình tam giác
	if (tamgiac_mc.hitTestPoint(stage.mouseX, stage.mouseY, true))
	{
		tamgiac_txt.text = "chuột chạm tam giác";
	}else{
		tamgiac_txt.text = "";
	}
}

2 phương pháp này rất hay được dùng trong việc làm game. Bài sau tôi sẽ giới thiệu 1 game nhỏ có sử dụng cả 2 phương pháp này. Hy vọng bài này sẽ giúp các bạn có ý tưởng để làm các game cho riêng mình.