it leader

충돌검사 : hitTestObject, hitTestPoint


충돌검사는 항상 if 문을 동반하여 사용한다.


1. hitTestObject  


  • 객체와 객체사이의 충돌검사
  • 둘러싼 사각형 사이의 충돌검사


2. hitTestPoint 


  • 객체와 점사이의 충돌 검사
  • 세번째 옵션에 따라 정확하게 충돌여부를 체크할 수도 있다.



3. hitTestObject 와 hitTestPoint의 사용 방법


 if(  객체1.hitTestObject(객체2) == true )

{


}else{


}



if( 객체.hitTestPoint(x,y,true) == true)

{


}else{


}


hitTestObject  태양과 눈사람의 충돌테스트 예제



var sun:MovieClip = sun_mc;

var snowman: MovieClip = snowman_mc;


sun.startDrag(true);


snowman.addEventListener( Event.ENTER_FRAME, onEnter);


function onEnter ( e: Event ) : void

{

if( sun.hitTestObject(snowman) == true)

{

snowman.alpha = 0.5;     // alpha 값을 50%로


}else{

snowman.alpha = 1;

}

}




hitTestobject =   오브젝트 박스 영역 형태로 충돌 여부 판단


hitTestPoint =  오브젝트의 외각 라인 형태로 충돌 여부 판단


hitTestPoint 예제



var bird:MovieClip = bird_mc;


bird.addEvnetListener ( Evnet.ENTER_FRAME, onEnter );


function onEnter ( e: Event ) : void

{

if( bird.hitTestPoiint ( mouseX, mouseY, true ) == true )   // hitTestPoint 옵션을 true ==> false로 바꾸면 hitTestObject 처럼 박스형태로 인식

{

bird.scaleX = bird.scaleY = 1.2;


}else {

bir.scaleX=bird.scaleY =1;


}

}






profile

it leader

@dev__pixui

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!