你怎么删除一个点?

时间:2013-03-21 17:07:36

标签: actionscript-3 actionscript flash-cs4 point

我如何删除一个点?我在网上搜索过,但是我找不到解决方案...... 我的代码用简单的术语表示:

创建变量:

    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;

向舞台添加一个监听器:

    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);
                }
        }
    }

1 个答案:

答案 0 :(得分:4)

他们甚至不在舞台上,Point不是一个无法添加到舞台的显示对象。

编辑只需将point1设置回0,0的初始位置,这样就不会在下次检查时进入if语句。或者更好的方法是在检查两点之间的距离之前检查子弹是否在舞台上

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);
     }
}