AS3 帧跳转问题
我设置了一个简单的帧跳转和物体移动的Flash,共有三个图层:底层是一个mc,初始位置横坐标x是0,共3帧。中层是一个as层,三个关键帧,用来写代码。上层是一个文本层,加...
我设置了一个简单的帧跳转和物体移动的Flash,共有三个图层:
底层是一个mc,初始位置横坐标x是0,共3帧。
中层是一个as层,三个关键帧,用来写代码。
上层是一个文本层,加入了一个动态文本,共三帧。
as第一帧代码为:
txt.text=String(this.currentFrame);
var dx:Number=mc.x;
var speed:Number=5;
as第二帧代码为:
txt.text=String(this.currentFrame);
dx+=speed;
mc.x=dx;
as第三帧代码为:
txt.text=String(this.currentFrame);
if(dx<stage.stageWidth)
gotoAndPlay(2);
运行的结果就是mc从左边一直移动到右边,然后一顿一顿地继续移出边界。
我加入了帧的监测是想看看帧是如何跳转的,在最后一顿一顿的时候我发现帧是123123123这样,这个我能理解。
但是在移动的过程之中帧一直保持在第二帧,由于as第三帧我把当前帧位置写在txt文本里这个语句加在了帧跳转之前,按理说应该显示在移动的时候帧不断在2,3之间变换,但是为什么一直显示的是2呢?
求解答,完美解释追加50分。 展开
底层是一个mc,初始位置横坐标x是0,共3帧。
中层是一个as层,三个关键帧,用来写代码。
上层是一个文本层,加入了一个动态文本,共三帧。
as第一帧代码为:
txt.text=String(this.currentFrame);
var dx:Number=mc.x;
var speed:Number=5;
as第二帧代码为:
txt.text=String(this.currentFrame);
dx+=speed;
mc.x=dx;
as第三帧代码为:
txt.text=String(this.currentFrame);
if(dx<stage.stageWidth)
gotoAndPlay(2);
运行的结果就是mc从左边一直移动到右边,然后一顿一顿地继续移出边界。
我加入了帧的监测是想看看帧是如何跳转的,在最后一顿一顿的时候我发现帧是123123123这样,这个我能理解。
但是在移动的过程之中帧一直保持在第二帧,由于as第三帧我把当前帧位置写在txt文本里这个语句加在了帧跳转之前,按理说应该显示在移动的时候帧不断在2,3之间变换,但是为什么一直显示的是2呢?
求解答,完美解释追加50分。 展开
展开全部
首先,回答txt文本问题,flash在创建的时候,都需要设置一个帧频,比如FPS:24,帧频快到一定程度,人的肉眼会没有办法捕获。所以用文本显示这个帧序号,不如改用trace(this.currentFrame);来的更符合调试需求。
其次,帧监听打出123123123这样的内容,在我看来其实也是不正常的。而我通过trace看到的结果,在mc的注册中心点没有超过舞台宽度前,显示的也都是2323这样正常的,显示123123这种不正常的原因,就是在于第三帧的代码导致的。
所以,建议将
if(dx<stage.stageWidth)
gotoAndPlay(2);
修改成
if(dx<stage.stageWidth)
gotoAndPlay(2);
else
stop();
如果希望看到mc完全移出舞台后停止,可以将if里的条件修改下。
希望你的问题已经解决了。
其次,帧监听打出123123123这样的内容,在我看来其实也是不正常的。而我通过trace看到的结果,在mc的注册中心点没有超过舞台宽度前,显示的也都是2323这样正常的,显示123123这种不正常的原因,就是在于第三帧的代码导致的。
所以,建议将
if(dx<stage.stageWidth)
gotoAndPlay(2);
修改成
if(dx<stage.stageWidth)
gotoAndPlay(2);
else
stop();
如果希望看到mc完全移出舞台后停止,可以将if里的条件修改下。
希望你的问题已经解决了。
Storm代理
2023-08-29 广告
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询