嗨我想在闪光AS3的破砖游戏中击球的时候让这块砖淡出来。这是代码。目前只有一个removechild函数,它只是消失,我想知道如何让它淡出。我还有一个突破性的声音,我想在球击中砖时添加,并想知道我将如何添加这个?
编辑:我已经设法使用Var& amp;删除子行后播放package {
import flash.display.*;
import flash.events.*;
public class Brick extends MovieClip {
private var _root:MovieClip;
public function Brick(){
addEventListener(Event.ADDED, beginClass);
addEventListener(Event.ENTER_FRAME, enterFrameEvents);
}
private function beginClass(event:Event):void{
_root = MovieClip(root);
}
private function enterFrameEvents(event:Event):void{
if(this.hitTestObject(_root.Ball)){
_root.ballYSpeed *= -1;
this.parent.removeChild(this);
removeEventListener(Event.ENTER_FRAME, enterFrameEvents);
}
}
}
}
答案 0 :(得分:0)
我怎么做才能首先创建一个变量命中:Boolean并在命中时将其设置为true并将enterFrameEvents函数中的代码更改为类似
if(!hit && this.hitTestObject(_root.Ball)){
hit = true;
_root.ballYSpeed *= -1;
//this.parent.removeChild(this);
//removeEventListener(Event.ENTER_FRAME, enterFrameEvents);
}
if(hit){
this.alpha -= 0.1; //change value to preference
if(this.alpha <= 0){
this.parent.removeChild(this);
removeEventListener(Event.ENTER_FRAME, enterFrameEvents);
}
}
答案 1 :(得分:0)
只需一个补间就不需要任何tweener包。
您可以使用AS3本身提供的Tween类。试试这个:
new Tween(mc,"alpha",
Strong.easeIn,
mc.alpha,
0,
2,
true).addEventListener(
TweenEvent.MOTION_FINISH,
function() { removeChild(mc); },
false, 0, true);
注意:
mc是movieclip(或砖块)。
代码在补间完成后从舞台中删除动画片段。
一旦球接触到砖块,您就可以播放声音。放 此后的代码。
最后三个参数(false,0,true)将动作完成侦听器设置为垃圾回收。