关于as3控制元件移动的问题!

有6个元件a1,a2,a3,a4,a5,a6水平的排列在舞台中,然后我想让a1移动到其他位置,然后其余的从a2开始向前顶一位移动到a1的位置,a3移动到a2的位置....... 有6个元件a1,a2,a3,a4,a5,a6水平的排列在舞台中,然后我想让a1移动到其他位置,然后其余的从a2开始向前顶一位移动到a1的位置,a3移动到a2的位置......a6移动到a5!麻烦哪位大侠给个解决思路! 展开
 我来答
邂逅小薇2h
2013-11-28 · TA获得超过135个赞
知道小有建树答主
回答量:180
采纳率:0%
帮助的人:141万
展开全部
其实就是一个队列,先把几个元件存到一个数组(comps)
1,定义两个全局变量,oldPos,newPos.oldPos用来记录当前移动的元件的起始位置,newPos是当前元件的终点。

2,定义一个元件current用来存储当前移动元件的引用。定义一个整数i用来存储当前元件在数组中的索引初始值为1

3,开始移动,
current = comps[i];
oldPos.x = current.x;
oldPos.y = current.y;
然后,开始让current移动到新位置(newPos,其实就是上一个元件的oldPos)

4,移动到制定位置后,让 i 自增 然后重复跳到第3步,知道移动到最后一个为止

思路就是这样,细节你自己应该能实现吧。
是在不懂得话还有一种简单粗暴的方法,直接用flashCS,每个元件做一个补间动画,都放到一个元件的不同帧里,直接用gotoAndPlay来实现,不过这样移动的位置比较死,不能变呵呵,看你的需求吧,good luck!
程经理
2024-10-11 广告
作为硕方科技(北京)有限公司的工作人员,针对TP76i线号机切断深度校准的问题,您可以通过以下步骤进行:1. 按住键盘上的Ctrl+Shift+停止键(若无Ctrl键,则按Shift+P键),进入切割零位调整菜单。2. 选择“半切零位调整”... 点击进入详情页
本回答由程经理提供
匿名用户
2013-11-28
展开全部
把所有元件保存在数组是,或直接使用this["mc_" + i] 访问,然后移动a1前,先保存其它 x y值,移动执行后, 要求下一个a2跟上 x y,循环依次类推
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式