Flash AS3不允许删除TextField或MovieClip

时间:2015-09-01 17:12:37

标签: actionscript-3 flash

我在这里添加了一个动画片段和一个数字。要获得效果,就像带有数字的星星一样。

消息是“starCount不是来电者的子女”。我不知道这意味着什么。它被添加到舞台上,因此它应该被带走。

var starClip = new ComboStarYellow();

starClip.x = 600;
starClip.y = 190;

if(ScoreKeep.comboTracker[starColor] == 0)
{
    starSprite.addChild(starClip);
}
else
{

    if(starClip!= null && starClip.parent != null)
    {
        removeChild(starClip);
    }

    if(starCount!= null && starCount.parent != null)
    {
        removeChild(starCount);
    }


    var starCount:TextField = new TextField();
    var starFormat:TextFormat = new TextFormat();
    starFormat.font="SF Atarian System Extended";
    starFormat.color = 0xFFFFFF;
    starFormat.size = 20;


    starCount.text = ScoreKeep.comboTracker[starColor].toString();
    starCount.x = 600;
    starCount.y = 200;
    starCount.setTextFormat(starFormat);
    starSprite.addChild(starClip);
    starSprite.addChild(starCount);
}

1 个答案:

答案 0 :(得分:4)

遗憾的是,你的错误不是ActionScript的错误。这一行不正确:

removeChild(starClip);

您将starClip添加到starSprite而不是舞台,因此错误。您需要从starSprite中删除starClip。

starSprite.removeChild(starClip);

事实上,您的代码中可能存在一些与范围界定有关的问题。