动作3闪现一个孩子 - 带回来?

时间:2011-03-31 19:58:42

标签: flash actionscript-3 flash-cs5

我刚开始学习flash。无论如何,当我从菜单中退出游戏时,我有一个动画片段被删除,例如removeChild(character)。当我在菜单上按“开始”时,我希望该角色重新出现。如果他被删除,我怎么能再次添加他?

6 个答案:

答案 0 :(得分:2)

您可以再次使用addChild添加他。要测试是否添加/删除了它,您可以测试他的stage属性是否为真。

if (!character.stage) 
{
    addChild(character);
}

答案 1 :(得分:0)

也许您只想更改子项的可见性或暂时将其从布局中排除?

答案 2 :(得分:0)

检查字符的父属性以查看它是否附加到任何内容。但请注意,在已添加的显示对象上使用addChild是完全可以的。

答案 3 :(得分:0)

删除时将其保存在var

var mySavedCharacter:MovieClip = characater
removeChild(character)

将其添加回来时,只需添加已保存的var

即可
addChild(mySavedCharacter)


还要记住,对象是通过引用传递的,因此对字符的更改也会改变mySavedCharacter。

答案 4 :(得分:0)

首先需要确保引用要重新添加到舞台的MovieClip。如果要在函数中创建此MovieClip而不保存引用,则必须执行“脏”查找以获取引用。以下是如何创建引用供以后使用的示例:

var myMovieClip : MovieClip; // make sure you have this outside of a function

function createMyMovieClip() : void
{
    myMovieClip = new MovieClip();
    addMyMovieClip();
}

现在你有了对MovieClip的引用,你可以这样做:

function addMyMovieClip() : void
{
    stage.addChild( myMovieClip );
}

function removeMyMovieClip : void
{
    stage.removeChild( myMovieClip );
}

答案 5 :(得分:0)

if (!yourContainer.contains(character)) yourContainer.addChild(character);

此代码假定“yourContainer”是有效的DisplayObjectContainer引用,并且“character”是对DisplayObject的非null引用。

此外,请确保您保存对角色MovieClip / Sprite的引用,而不仅仅是添加到显示列表,以便它不是GC。