好吧,我正在制作一个射击游戏,我必须点击敌人让两个计数器计算我得到的命中数。在这种情况下,敌人是幽灵,我在拍摄时尝试制作某种动画,所以当我点击它们后动画会替换它们。
然而,我似乎无法让它们再次出现在同一个位置,这是一个使用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中看到整个文件,这很简单,但我似乎无法使影片剪辑消失并重新出现,或者每当我点击其中一个时,动画就会重新出现鬼。任何人都可以帮我这个吗?我非常感谢你的帮助。
答案 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;