2017-10-05 3 views
-1

문제는 내가 십자형을 만지고있을 때만 구가 사라지도록하려는 것입니다. 문제는 십자선이 감추고 있는지 여부에 관계없이 구가 사라질 것이라는 것입니다.as3 hittestobject가 매개 변수를 실행하지 않고 활성화됩니다.

내 기호는 다음과 같습니다 단계

Mouse.hide(); 
crossHair.startDrag(true); 



stage.addEventListener(MouseEvent.CLICK, _onStageMouseDown); 

function _onStageMouseDown(e:MouseEvent):void 
{ 
if (crossHair.hitTestObject(targetBlue), true) 
{ 
    targetBlue.visible = false; 
    trace("the mouse is in the target"); 
} else if (crossHair.hitTestObject(targetBlue), false){ 
    trace("the mouse is not in the target"); 
} 
} 

답변

0

귀하의 IF-문에 targetBlue의 인스턴스 무대

대상에 십자선의 인스턴스

십자선이 좀 이상해. 이런 식으로 시도 :

if (crossHair.hitTestObject(targetBlue) == true) { 
    targetBlue.visible = false; 
    trace("the mouse is in the target"); 
} else { 
    trace("the mouse is not in the target"); 
} 

을, BTW 당신은 ​​아마 슈팅 게임의 일종을하고 있기 때문에, 당신이 훨씬 더 적합 이에 대한 될 hitTestPoint() 기능을 확인하는 것이 좋습니다.

+0

어도비에 코드 스 니펫이 있으며, 그 코드를 사용했습니다. 그러나 나는 문제를 밖으로 생각했다. 마우스 이벤트를 스테이지에서 심볼 –

+0

으로 변경했습니다. 마우스가 인접한 레이어와 상호 작용할 수 없다는 것이 문제입니다. –

관련 문제