Actionscript 3 如何在AS3中初始化我的函数

Actionscript 3 如何在AS3中初始化我的函数,actionscript-3,Actionscript 3,我是AS3的初学者。我想在400*450的画布上的有限空间内创建一个简单的弹跳球。但当我发布它时,它无法工作。有人能帮我弄清楚吗? PS:有什么好的网站可以帮助我了解更多关于AS3的信息吗 这是我的密码: function ballmoving(evt:Event = null):void { var vel_x = 5; var vel_y = 6; ball.x = -20; ball.y = 280; ball.x += vel_x; b

我是AS3的初学者。我想在400*450的画布上的有限空间内创建一个简单的弹跳球。但当我发布它时,它无法工作。有人能帮我弄清楚吗? PS:有什么好的网站可以帮助我了解更多关于AS3的信息吗

这是我的密码:

function ballmoving(evt:Event = null):void 
{
    var vel_x = 5;
    var vel_y = 6;
    ball.x = -20;
    ball.y = 280;

    ball.x += vel_x;
    ball.y += vel_y;    
    if (ball.x > stage.stageWidth - ball.width / 2 || ball.x < 0 + ball.width /2)
    {
        vel_x *= -1;
    }
    else if (ball.y > 280 || ball.y < 0 + ball.height /2)
    {
        vel_y *= -1;
    }
}

ballmoving();

RecycleButton.addEventListener(MouseEvent.CLICK, reset);

function reset(event:MouseEvent):void
{
    ball.x = -20;
    ball.y = 280;
    ballmoving();
}
函数移动(evt:Event=null):无效
{
var vel_x=5;
变量水平y=6;
ball.x=-20;
球y=280;
ball.x+=vel_x;
ball.y+=vel_y;
如果(ball.x>stage.stageWidth-ball.width/2 | | ball.x<0+ball.width/2)
{
水平x*=-1;
}
否则如果(ball.y>280 | | ball.y<0+ball.height/2)
{
水平y*=-1;
}
}
ballmoving();
RecycleButton.addEventListener(MouseEvent.CLICK,重置);
功能重置(事件:MouseEvent):无效
{
ball.x=-20;
球y=280;
ballmoving();
}
尝试以下方法:

var vel_x = 5;
var vel_y = 6;

function ballmoving(evt:Event = null):void 
{

    ball.x += vel_x;
    ball.y += vel_y;    
    if (ball.x > stage.stageWidth - ball.width / 2 || ball.x < ball.width /2)
    {
        vel_x *= -1;
    }

    if (ball.y > 280 || ball.y < ball.height /2)
    {
        vel_y *= -1;
    }
}

stage.addEventListener(Event.ENTER_FRAME, ballmoving);
RecycleButton.addEventListener(MouseEvent.CLICK, reset);

function reset(event:MouseEvent):void
{
    ball.x = -20;
    ball.y = 280;
}
var-vel_x=5;
变量水平y=6;
函数ballmoving(evt:Event=null):无效
{
ball.x+=vel_x;
ball.y+=vel_y;
如果(ball.x>stage.stageWidth-ball.width/2 | | ball.x280 | | ball.y
我已经在adobe flash cs6中将球设置为movieclip,因此我没有在编码中再次定义它。我的代码没有警报。但是每次调用
ballmoving
函数时,球都无法移动。球被设置为
-20280
,然后移动
5,6
,这将球移动到
-15286
。所以它永远不会移动。谢谢你的回复,巴什。实际上,我刚刚尝试删除设置-20280,在flash画布中有相同的默认位置。但它仍然无法移动。看看我的回答是否有帮助。如果在ballmoving中设置球的位置或重置功能,球将不会移动到任何位置。您很可能希望将
ballmoving
功能附加到
ENTER_FRAME
事件:
stage.addEventListener(event.ENTER_FRAME,ballmoving)已编辑,因此它使用ENTER_框架,鼠标单击将重置球。感谢您的想法。每次只需单击按钮,它就可以移动。我想要的是让球在画布内自动反弹。我尝试添加一个eventlistener来激活它,球正在移动,但另一个问题发生了,因为球无法以正确的方式移动。因此,我想我需要修改该函数。如果您只想通过单击来移动它,请删除enter frame处理程序,然后在
reset
函数中调用
ballmoving
。您可能还需要删除else,只需执行2 if语句,这些条件都可以应用于拐角处。