Actionscript 3 使Flash母版淡出&;添加健全的砌砖游戏

Actionscript 3 使Flash母版淡出&;添加健全的砌砖游戏,actionscript-3,flash,actionscript,Actionscript 3,Flash,Actionscript,嗨,我在flash AS3中的砖块破解游戏中,当球击中砖块时,我试图让砖块淡出。这是代码。目前只有一个removechild函数使它消失了,我想知道如何使它消失。此外,我有一个打破声音,我想补充,当球击中砖头,不知道我会如何添加这个呢 编辑:我在删除子行之后使用Var&Play添加了声音 package { import flash.display.*; import flash.events.*; public class Brick extends MovieClip { priv

嗨,我在flash AS3中的砖块破解游戏中,当球击中砖块时,我试图让砖块淡出。这是代码。目前只有一个removechild函数使它消失了,我想知道如何使它消失。此外,我有一个打破声音,我想补充,当球击中砖头,不知道我会如何添加这个呢

编辑:我在删除子行之后使用Var&Play添加了声音

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);
        }
    }
}

}

我应该首先创建一个hit: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);
        }
    }     
if(!hit&&this.hitTestObject(_root.Ball)){
命中=真;
_root.ballYSpeed*=-1;
//this.parent.removeChild(this);
//removeEventListener(Event.ENTER_FRAME,enterFrameEvents);
}
如果(命中){
this.alpha-=0.1;//将值更改为首选项

如果(this.alpha仅一个吐温不需要任何吐温包

您可以使用AS3本身提供的Tween类。请尝试以下操作:

new Tween(mc,"alpha", 
          Strong.easeIn,
          mc.alpha,
          0,
          2,
          true).addEventListener(
          TweenEvent.MOTION_FINISH, 
          function() { removeChild(mc); }, 
          false, 0, true);
注:

  • mc是电影唇(或砖头)

  • 代码在tween完成后从舞台上移除movieclip

  • 球一碰到砖头,你就可以发出声音 这是之后的代码

  • 最后三个参数(false、0、true)将运动完成侦听器设置为垃圾收集


我对它做了一些修改,但无法让它工作。它说,访问未定义的属性“命中”,我刚刚下载了一个tweener软件包,它似乎做到了这一点:)