2013-03-21 3 views
0

포인트를 어떻게 제거합니까?어떻게 포인트를 제거합니까?

만들기 변수 :

var point1:Point=new Point(); 
    var point2:Point=new Point(); 
    var bullet:MovieClip=new bullet; 
    var box:MovieClip=new box; 

하여 상자의 위치와 시점

설정 나는 그러나 나는 간단한 용어에서 ... 내 코드 해결책을 찾을 수없는, 모든 웹을 통해 검색 한
box.x=200; 
    box.y=200; 

    point2.x=200; 
    point2.y=200; 

총알의 속도를 설정 :

bullet.speedX=10; 

추가 기능 g 스테이지에 청취자 :

stage.addEventListener(Event.ENTER_FRAME, inToFrame) 
    function inToFrame (evt:Event) 
    { 
     bullet.x+=bullet.speedX; 
     point1.x=bullet.x; 
     point1.y=bullet.y; 
     if(Point.distance(point1,point2)<10) 
     { 
      if(this.contains(bullet)) 
       { 
        removeChild(bullet); 
        //And here I want one of the two points to be removed 
       } 
      if(this.contains(box)) 
       { 
        removeChild(box); 
       } 
     } 
    } 
+0

Point 클래스 사이의 거리를 확인하기 전에 단계에있는 경우 또는 더 나은 단지 확인 3/flash/geom/Point.html, DisplayObject 제외). 그것은 단지 추상적 인 구조입니다. 무대에 포인트가 없습니다! 그래서, 당신은 진짜로 제거하고 싶습니까? – Smolniy

+0

poin1 = null; Doh – Pier

+0

@Smolniy에게 감사드립니다. 다음 번에는 서로 반경 10 이내의 지점이 다른 점과 상호 작용하지 않기를 바랍니다. – user2196152

답변

4

심지어 그들이 스테이지가 아닌, Point는 스테이지에 추가 할 수없는 표시 객체 아니다.

을 0,0과 같은 초기 위치로 다시 설정하면 다음 확인시 if 문으로 넘어 가지 않습니다. 총알이 무대 (http://help.adobe.com/en_EN/FlashPlatform/reference/actionscript/에 배치 할 수없는 두 지점

if(bullet.parent && Point.distance(point1,point2)<10) 
{ 
    if(this.contains(bullet)) 
    { 
     removeChild(bullet); 
     //And here I want one of the two points to be removed 
    } 
    if(this.contains(box)) 
    { 
     removeChild(box); 
    } 
} 
+0

그래도 내 문제는 해결되지 않습니다. 기본 개념은 총알이 그 대상을 향해 발사하는 지점을 지탱하고 있다는 점입니다. 그리고 두 점이 서로 일정한 반경 내에있을 때, 대상과 점 모두가 파괴됩니다. 나는 무비 클립 인 객체 만 파괴 할 수 있습니다. – user2196152

+1

표시 한 코드가 필요한 것을 결정하기에 충분하지 않기 때문에 문제가 해결되지 않습니다 – Daniel

+0

@Daniel이 총알을 무대에 추가하는 코드를 표시하지 않았다고 말하면 점을 제거하고 싶지 않습니다. 무대에서 총알을 제거하고 싶습니다. '글 머리 기호 '를 가지고 있다면 if 문에서'stage.removeChild (bullet);'를 수행하십시오. –

관련 문제