让Flash Parent Fade Out&添加声音BrickBreaker游戏

时间:2013-02-25 20:59:03

标签: actionscript-3 flash actionscript

嗨我想在闪光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);
        }
    }
}

}

2 个答案:

答案 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)将动作完成侦听器设置为垃圾回收。