我在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;
}
}
答案 0 :(得分:0)
Graphics.beginFill(0,0)
可能是最好的方法。
就像用橡胶绘画(第二个参数意味着透明)
您可以使用lineTo
/ curveTo
移动,然后使用endFill
提交。