2012-02-22 3 views
1

저는 AS3을 처음 사용했기 때문에 도움이 필요합니다. 나는 마리오 같은 게임을 만들려고 노력하고있어. 지금 당장 뛰어 내릴 수있는 캐릭터를 만들었지 만 충돌 감지에 문제가 있습니다.AS3 충돌 감지가 인식되지 않습니다.

나는 캐릭터를 바 위에 올려 놓고 싶습니다. 내 충돌 감지가 전혀 작동하지 않습니다 ..

나는 인스턴스 이름이 mcMain 인 cirle을 만들었으며 그 중 MovieClip을 만들었습니다. T도 인스턴스 이름이 balkje 인 직사각형을 만들었으며, MovieClip도 만들었습니다.

내 코드와 충돌 감지 작업을 변경하기 위해 무엇이 잘못 되었는가를 알 수 있기를 바랍니다. 고마워요!

balkje.addEventListener(KeyboardEvent.KEY_DOWN, drag); 
stage.addEventListener(KeyboardEvent.KEY_UP, drop); 

function drag(e:KeyboardEvent):void 
{ 
    e.target.startDrag(); 
} 

function drop(e:KeyboardEvent):void 
{ 
    stopDrag(); 
    if (balkje.hitTestObject(mcMain)) 
    { 
     trace("Collision detected!"); 
    } 
    else 
    { 
     trace("No collision."); 
    } 
} 
+0

나는 당신이 무엇을 요구하고 있는지 정말로 모르겠다. '발제 '가 끌려 가면서 충돌이 일어나지 않습니까, 아니면'발제 '를 움직이는 데 문제가 있습니까? –

답변

0

키보드 이벤트가 아닌 mouseEvent를 사용해야한다고 생각합니다. 키보드로 어떻게 끌 수 있습니까?

balkje.addEventListener(MouseEvent.MOUSE_DOWN, drag); 
balkje.addEventListener(MouseEvent.MOUSE_UP, drop); 

function drag(e:MouseEvent):void 
{ 
    e.target.startDrag(); 
} 

function drop(e:MouseEvent):void 
{ 
    e.target.stopDrag(); 

    if (balkje.hitTestObject(mcMain)) 
    { 
     trace("Collision detected!"); 
    } 
    else 
    { 
     trace("No collision."); 
    } 
} 
+0

'startDrag()'를 호출하기 위해'MouseEvent'를 사용할 필요는 없습니다. 이것은 스크립트의 어느 부분에서나 작동합니다. –

+0

@rvmook 마우스 이벤트를 사용해야한다는 내용은 언급하지 않았습니다. 그들을 표시하기 전에 게시물을 읽으십시오. – crooksy88

+0

"키보드로 어떻게 끌 수 있습니까?"라는 말은 내가 잘못 해석했음을 의미합니다. 어쩌면 다음 번엔 당신의 explenation을 확장하려고하거나, 적어도 누군가가 당신을 득표 할 때 펑크처럼 행동하지 마십시오. –

관련 문제