본문 바로가기

플래시 AS 2.0 강좌/초급

hitTest에 대해 알아보자.





자 오늘은 hitTest에 대해 알아볼게요.





먼저 hitTest란?





충돌 검사를 말합니다.


만약 이 무비클립이 이 무비클립에 닿인것이 true라면

액션을 실행하는것이죠.



아주 많이 응용이 가능한데요,

그만큼 꼭 알아놔야합니다.



ex)

캐릭터가 포탈에 닿일때 -> 2스테이지로

공격이 몬스터에게 닿일때 -> 체력 깎음



등등등등등


아주 폭넓게 이용 가능합니다.






우선 오늘의 희생양 2개를 그려주세요.


검은색의 인스턴스네임은 mouse로 해주시고


그리고 동적 텍스트도 하나 만들어 주고 변수는 k로 해주세요.






자 이제 검은곳에는


onClipEvent (mouseMove) {

Mouse.hide();

this._x = _root._xmouse;

this._y = _root._ymouse;

updateAfterEvent();

}

을 넣고


노란곳에는


onClipEvent (mouseMove) {

if (this.hitTest(_root.mouse)) {

_root.k = "닿였다";

} else {

_root.k = "아니닿였다";

updateAfterEvent();

}

}



이걸 넣으시면



잘 되지요?


이제 설명을 드리겠는데요.


저기 검은색은 그냥 마우스니까 패스하고요,


onClipEvent (mouseMove) {

if (this.hitTest(_root.mouse)) {

_root.k = "닿였다";

} else {

_root.k = "아니닿였다";

updateAfterEvent();

}

}


이걸해보겠습니다.



onClipEvent (mouseMove) {//마우스가 움직일때 실행

if (this.hitTest(_root.mouse)) {//이것이 검은것에게 닿이면 실행

_root.k = "닿였다";//닿였다

} else {

_root.k = "아니닿였다";//안닿였다.

updateAfterEvent();//부드럽게하는것.

}

}




이렇게 해석할수 있습니다.


아! 이제 알았군요.


if (this.hitTest(_root.mouse)) 


이 양식은


if ([장소명1].hitTest([장소명2]))




이렇게 써먹을 수 있습니다.



단 인스턴스 네임을 정해줘야하는데요


인스턴스네임강좌




잘 이해가 안가시면 전 강좌도 둘러보세요.



이상입니다.