Flash AS3删除动画片段的部分内容

时间:2013-10-08 10:48:02

标签: actionscript-3 flash

我在AS3做乒乓球比赛。然而,当球击中我的球拍时,我想要移除它的一部分(球拍)。 我的球和我的球拍都是动画片。 我该怎么做?删除的最佳方法是什么,而不仅仅是整个动画片段,而只是其中的一部分。

这是我的代码:

import flash.events.Event;


var ballSpeedX:int = 4;
var ballSpeedY:int = 4;

init();

function init():void {
    stage.addEventListener(Event.ENTER_FRAME, loop);
}

function loop(e:Event):void {

    playerPaddle.x = mouseX;

    if(playerPaddle.hitTestObject(ball)){
        if(ballSpeedY >= 0){
            ballSpeedY *= -1;
            ball.removeSelf();
        }
    }

    if(playerPaddle.y - playerPaddle.height/2 < 0){ 
        playerPaddle.y = playerPaddle.height/2;

    //check if bottom of paddle is below bottom of screen
    } else if(playerPaddle.y + playerPaddle.height/2 > stage.stageHeight){
        playerPaddle.y = stage.stageHeight - playerPaddle.height/2;
    }

    ball.x += ballSpeedX;
    ball.y += ballSpeedY;

    if(ball.x <= ball.width/2){ 
        ball.x = ball.width/2; 
        ballSpeedX *= -1;

    }else if(ball.x >= stage.stageWidth-ball.width/2){
        ball.x = stage.stageWidth-ball.width/2;
        ballSpeedX *= -1;

    }

    if(ball.y <= ball.height/2){ 
        ball.y = ball.height/2;
        ballSpeedY *= -1;

    } else if(ball.y >= stage.stageHeight-ball.height/2){
        ball.y = stage.stageHeight-ball.height/2;
        ballSpeedY *= -1;

    }
}

1 个答案:

答案 0 :(得分:0)

Graphics.beginFill(0,0)

可能是最好的方法。

就像用橡胶绘画(第二个参数意味着透明

您可以使用lineTo / curveTo移动,然后使用endFill 提交