2011-08-21 8 views
1

그래서 저는 십자형 대장을 가지고 있고 아래에 함수가 호출 될 때 중첩 된 자식 팔다리가있는 적을 가지고 있습니다. 적중을 만들고 그걸 적으로 붙일 수는 있지만 어떻게해야합니까? 십자형 대장의 X/Y 위치를 사지가 회전 될 수 있다는 것을 염두에 두어 적의 사지를 번역합니다. 어떤 도움을 주셔서 감사합니다. 표시 객체가 회전하고 당신을 위해 번역, 당신의 십자선을 가정하는 것은 당신이 할 수있는 마우스를 다음과됩니다 내부AS3 상대 지점

function _hit (e):void 
{ 
    if (theEnemy.limb1.hitTestObject(crosshair)) { 
     var theHit:HitMark = new HitMark(); 
     theHit.x = ?; 
     theHit.y = ?;  
     theEnemy.limb1.addChild(theHit); 
    } 
} 

답변

2

마우스 좌표하지 않으면

var theHit:HitMark = new HitMark(); 
theHit.x = theEnemy.limb1.mouseX; 
theHit.y = theEnemy.limb1.mouseY; 
theEnemy.limb1.addChild(theHit); 

, 당신은 사용해야합니다 globalToLocal()

var theHit:HitMark = new HitMark(); 
var globalHitPoint:Point = new Point(crosshair.x, crosshair.y); 
var localHitPoint:Point = theEnemy.limb1.globalToLocal(globalHitPoint); 
theHit.x = localHitPoint.x; 
theHit.y = localHitPoint.y; 
theEnemy.limb1.addChild(theHit); 
+0

안녕하세요. globalToLocal에게 정보를 보내 주셔서 감사합니다. Crosshair는 컨트롤러에 의해 이동되어 mouseX를 따르지 않습니다. – woodscreative

+0

지옥 예치 그게 내가 좋은 작품 grapefrukt에 대해 말하는거야! – woodscreative

+0

scaleX를 사용하면이 문제가 발생합니다. 예를 들어, 모든 적을 View에 포함하고 View.scaleX = 0.75로하면 적중 표시가 나타나지 않습니다. 음. – woodscreative