2013-02-25 49 views
0

嗨,我想让这个砖淡出时,在我的flashbreaker游戏中的闪光AS3球击中它。这是代码。目前只有一个removechild函数,它只是消失,我想知道如何使其淡出。另外我有一个突破的声音,我想添加当球击中砖,并想知道我将如何添加这个呢?使Flash父淡出并添加声音打砖块游戏

编辑:我已成功通过使用remove子线

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

无需对刚上任何中间人包e tween。

您可以使用AS3本身提供的Tween类。试试这个:

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

注:

  • MC为影片剪辑(或砖)。

  • 该代码在补间完成后从舞台移除动画片段。

  • 您可以在球接触砖块后立即播放声音&将 放在此代码之后。

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

+0

非常感谢你的伎俩一个摇摆人包这工作完美 – 2013-02-27 01:43:31

0

我会怎么做是首先创建一个变量命中后瓦尔&播放添加声音:布尔和其设置为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); 
     } 
    }  
+0

香港专业教育学院用它拨弄了一下周围,但不能得到它的工作,它说未定义的属性访问“打” – 2013-02-26 00:54:26

+0

我刚刚下载这似乎做:) – 2013-02-26 01:24:07