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分。
展开
 我来答
marywisher
2011-06-04 · TA获得超过176个赞
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:155万
展开全部
首先,回答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里的条件修改下。

希望你的问题已经解决了。
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
baileyange
2011-06-04 · TA获得超过124个赞
知道答主
回答量:70
采纳率:0%
帮助的人:115万
展开全部
估计是程序结构问题,或者是帧和代码的关系没搞清楚。你可以把代码发给我,我帮你看看。我的QQ 474186854
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式