2013-04-27 3 views
1

나는 미로 게임에서 비틀어 버렸고, 나는 물리학으로 움직이기위한 나의 공을 가지고있다. 그러나 그것 주위의 벽을 치기 위해 고생하고있다. 는 현재 영화 검은 벽 클립, 그리고 필자 시도를 중지하려면이 코드를 사용 : 그것은 무비 클립의 일부 (심지어 공백)가 이동을 칠 때 actionscript 3.0에서 벽을 만드는 방법은 무엇입니까?

if (character.hitTestObject(walls)){ 
     character.x = //something 
     character.y = //something 
    } 

이 모든

는 않습니다 내 문자,

거기에 특정 색상을 때리는 것을 감지하는 데 사용할 수있는 코드가 있습니까?

+0

하지만 hitTestObject'는 표시 객체의 경계 상자를 사용하지 않습니다'로 : 당신이 완벽한 픽셀 충돌을하려는 경우, 당신은이 링크를 확인하실 수 있습니다 . – taskinoor

+0

그래서 다른 방법이 있습니까? – sam

답변

0

당신이 할 수있는 한 가지 방법은 hitTestPoint() 방법을 사용하여 모서리가 벽에 부딪쳤다는 것을 테스트하는 것입니다.

hitTestPoint()은 하나의 위치 만 테스트하여 해당 지점이 객체와 충돌하는지 확인합니다.

// I am assuming that x,y is the top left corner of your character 

if (wall.hitPointTest(character.x, character.y, true)) 
{ 
    // top left collided with wall 
{ 

그래서 모든 모서리를 위해 동일을 할 수있는, 또는 당신이 원하는 경우에, 당신이 어떤 충돌 지점 당신을 확인할 수 있습니다 : 이것은 당신이 벽을 만지는 것 있는지 확인하기 위해 캐릭터의 왼쪽 상단을 테스트 할 수있는 방법입니다 캐릭터를 확인하고 싶다.

당신의 정밀도에 따라,이 방법은 당신의 요구에 잘 맞을 것입니다. 처음에는 hitArea` 도움이 될`생각에

http://www.freeactionscript.com/2011/08/as3-pixel-perfect-collision-detection/

관련 문제