2013-10-29 3 views
0

mc1이 mc2에 도달하는지 확인하기 위해 hitTest 설정이 있습니다. mc1이 mc2에 접촉하는 동안 루프에서 재생하려면 mc1이 필요합니다. mc1은 mc2를 건드리지 만 oc는 mc2를 건드리지 않는 동안은 안됩니다. 그것이 mc2에 닿는 동안 그것은 프레임 2로 간다. 왜 이런 일이 일어나는 걸까요?AS2 HitTest 문제

+0

몇 가지 코드를 보여줄 수 있습니까? 여러분을 도와주기 위해 우리는 여러분이 어디에서 왔는지에 대해 좀 더 알아야합니다. – Enigmadan

답변

0

내가 코드에서 냄새가 나는 문제는 onEnterFrame 메서드를 사용하여 mc1이 mc2를 터치하는지 확인해야한다는 것입니다. 그러나 hitTest 사실 반환 할 때, 당신은 사용해야합니다

mc1.gotoAndPlay(2); 

여기서 문제는 시간에 두 MC라면 서로 onEnterFrame과 방법에 따라 (어떤이 24 시간을 이동하지 않고 프레임에서 재생 MC1을 강요 타격이다 사용중인 프레임 속도). 그리고 전환이 너무 빠르기 때문에 프레임 번호 2에 붙어있는 것처럼 보입니다.

내 제안에는 MC의 타격을 등록하는 변수가있을 것입니다. 그런 다음 mc1에게 가서 재생을 요청하십시오. 다음은 참조 할 수있는 샘플 코드입니다.

mc1.stop(); 
mc1.onPress = function() { 
    startDrag(mc1); 
}; 
mc1.onRelease = function() { 
    stopDrag(); 
}; 
var touched = 0; 
onEnterFrame = function() { 
if (mc1.hitTest(mc2)) { 
    trace("you hit the circle"); 
    mc1.play(); 
} else { 
    touched = 0; 
} 
if (touched == 1) { 
    mc1.play(); 
}else { 
    mc1.stop(); 
} 
}; 

희망이 도움이됩니다.

+0

감사합니다. – user2928560