打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
as3 来回(上下)移动

//设置边界:上下左右

//var top:Number = 0;

var right:Number = stage.stageWidth;

//var bottom:Number = stage.stageHeight;

var left:Number = 0;

//设置位移:x、y 为水平和垂直轴

var vx:Number = 3;

//var vy:Number = 3;

//注册ENTER_FRAM事件侦听器

addEventListener(Event.ENTER_FRAME, mover);

//响应函数:负责影片的整个动画

function mover(e:Event):void {

        ball.x += vx;

        //ball.y += vy;

      if (ball.x < left + ball.width / 2) {
              ball.x = left + ball.width / 2;

              vx *= -1;

       } else if (ball.x > right - ball.width / 2) {

                ball.x = right - ball.width / 2;

                vx *= -1;

        }

      /*if (ball.y < top + ball.height / 2) {

              ball.y = top+ball.height / 2;

              vy *= -1;

        } else if (ball.y > bottom - ball.height / 2) {

                ball.y = bottom - ball.height / 2;

                vy *= -1;

       }*/

}

设置边界:
 上和左边界为0,右和下边界为舞台的宽度和高度。
设置位移:
 vx:Number = 3; 3为速度。
在Flash中的时间可以用帧频表示,帧频是指1秒内播放的帧数。要让Flash中的对象实现运动,只要用对象的位置加上速度,对象的位置用x和y属性表示。
注册ENTER_FRAM事件侦听器:
 enterFrame事件基于帧频事件触发,会每隔1/n秒调用move()函数,这就是速度中的时间,变量vx是速度中的位移。当enterFrame事件发生时,就实现了mc的位移,即每1/n秒向右移动3像素。
响应函数:
 ball.x += vx; 当前位置加速度。
使用 if 和 else 语句判断边界,如果小球 x 坐标大于左、右边界,就意味着它超出了左、右边界。
当检测到物体超出舞台后,开始应用弹性,不改变物体的位置,只改变它的速度向量。方法很简单:如果物体超出了左、右边界,只需要使它的 x 速度向量取反。如果超出了上、下边界,只需要让 y 速度向量取反。坐标轴取反非常简单,只需要乘以 -1 。如果速度向量等于3,则变成-3。如果是-3,则变成3。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Flash AS3.0制作飘动的气泡内含详细注释
AS3.0制作逼真的喷泉动画详细教程
html5弹跳球示例代码
高级动画
Flash基础理论课 第八章 缓动与弹性运动Ⅱ
动量守恒与能量守恒
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服