Actionscript 3 如何在AS3中初始化我的函数
我是AS3的初学者。我想在400*450的画布上的有限空间内创建一个简单的弹跳球。但当我发布它时,它无法工作。有人能帮我弄清楚吗? PS:有什么好的网站可以帮助我了解更多关于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
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语句,这些条件都可以应用于拐角处。