如何使影片剪辑出现并重新出现在同一位置?

时间:2013-06-25 21:32:08

标签: actionscript-3 flash animation flash-cs5

好吧,我正在制作一个射击游戏,我必须点击敌人让两个计数器计算我得到的命中数。在这种情况下,敌人是幽灵,我在拍摄时尝试制作某种动画,所以当我点击它们后动画会替换它们。

然而,我似乎无法让它们再次出现在同一个位置,这是一个使用Flash CS5的形状和绘图工具制作的非常简单的绘图。

我在这种情况下用于拍摄部分的代码就是这个:

function disparar (event:MouseEvent):void{
    contar +=1;
    disparos.text = contar.toString();

    var destino1:Boolean = this.mira.hitTestObject(this.FRojo)

    if (destino1 == true){
        cuenta +=1;
        aciertos.text = cuenta.toString();
        this.FRojo.visible = false;
        colorante.color = 0xFF0000;
        this.bang.transform.colorTransform = colorante;
        this.bang.x = this.FRojo.x;
        this.bang.y = this.FRojo.y;
        this.bang.scaleX = this.FRojo.scaleX;
        this.bang.scaleY = this.FRojo.scaleY;
        this.bang.play();
        this.FRojo.visible = true;
    }

事实上,您可以在here中看到整个文件,这很简单,但我似乎无法使影片剪辑消失并重新出现,或者每当我点击其中一个时,动画就会重新出现鬼。任何人都可以帮我这个吗?我非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您正在隐藏影片片段,方法是设置this.FRojo.visible = false;,然后将其设置为真,因此它永远不会隐藏。

尝试替换this.FRojo.visible = true;

setTimeout(function(){FRojo.visible = true;}, 1000);

这将使它在1秒(1000毫秒)后重新出现。

所以删除this并确保每个人都是FRojo,FAzul和FMorado。

如果你使用像绿色摇滚这样的补间库你可以做一些很酷的淡化,而不是再次出现。

修改

您的BANG影片剪辑中还有其他错误。在第10帧替换

this.bang.x = 50;
this.bang.y = 10;
this.bang.scaleX = 1;
this.bang.scaleY = 1;

this.x = 50;
this.y = 10;
this.scaleX = 1;
this.scaleY = 1;