作者Angelliya (澪澪)
看板Flash
标题Re: [问题] 请问Mac跟yutobe的选单
时间Thu Jul 26 00:16:51 2007
※ 引述《pine0113 (╭(′▽`)╯奔向指考!)》之铭言:
: 就是滑鼠靠近会放大 把其他物件挤开的选单
: 我想了很久还是只有滑鼠靠近放大
: 但是把物件挤开还是不知道要怎麽做...
: 结果做出来的东西就像
: http://pine0113.infor.org/mote/test.html
: 一样 感觉笨笨的
: 而且有许多控制上的bug (dragout会爆炸,在缩小完成前滑鼠再移上去也会有问题)
: 以下是我做出来的方法
: 一个 影格 0=>20放大的动画 20=>40缩小的影片元件 名字叫做 button_view
: 在影格1跟20的地方有stop(); 40放gotoAndStop(1);
: 一个 只有感应区的按钮
: 把上述两个东西叠在一起 放在一个影片元件里面
: 按钮上的actionscript是:
: on (rollOver) {
: button_view.play();
: }
: on (rollOut) {
: var q_move;
: q_move=40-button_view._currentframe;
: button_view.gotoAndPlay(q_move);
: }
: 那个影像元件就是一个成品了.
: ---
: 请问板上的各位强者:
: 1.推挤效果大概要怎麽做
: 2.跟上述的bug要如何修正
---
首先
先来看看什麽是"挤"...
因为一个力量的压迫 让那个物件以及他周围的物件以及空间受到影响
1.挤牙膏->因为两只手对牙膏施力,让牙膏里面的牙膏受到压迫产生压力
最後从牙膏的口喷出来
2.挤公车->因为公车就这麽大,乘客一直进来的时候
乘客的数量增加,公车的容量却不会增加,因此乘客间的空间变小
3.揉面团->用手或工具等揉面团,而面团有除施力点外无其他限制
因此面团向四方扩散
拆开来看的话
就是"压力源"压迫在"某个地方",而为了纾解这个压力,
这个"空间","物件本身","周遭"都发生了一些改变
---
先这样想像力量的组成後,做出来的动画会比较趋近真实 :)
回到这个问题本身
它比较像是上述3的例子
被滑鼠滑过的元件变大,压迫到隔壁的元件
造成隔壁元件的移动
先假想这个空间不会限制物件的运动(会的话比较麻烦XD)
那麽,即使被划滑鼠划过的元件变大
而附近元件渐渐分散了这个力量
最後的平衡状态
是那个放大的元件跟旁边的元件
"间格相同"
---
假设
一共有5个物件
物件原本的大小是100
经过滑动放大後变成150
物件的间隔为50
而且是从0开始往右排,且是往右推挤的情况
任何事都还没发生的时候,各物件的X位置:
物件一 间隔 物件二 间隔 物件三 间格 物件四 间隔 物件五
0~100 50 150~250 50 300~400 50 450~550 50 600~700
(按钮在物件一)
0~150 50 200~300 50 350~450 50 500~600 50 650~750
(按钮在物件二)
0~100 50 150~300 50 350~450 50 500~600 50 650~750
(按钮在物件三)
0~100 50 150~250 50 300~450 50 500~600 50 650~750
(按钮在物件四)
0~100 50 150~250 50 300~400 50 450~600 50 650~750
(按钮在物件五)
0~100 50 150~250 50 300~400 50 450~550 50 600~750
结论
被滑过的那个物件"及"那个物件"左边"的物件的X位置
位置就是(100(物件本身宽度)+50(间隔))*物件数
而被滑过的那个物件右边的所有物件
位置是(150(放大後的宽度)-100(原本宽度))+(100(物件本身宽度)+50(间隔))*物件数
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
因为放大造成让旁边的物件位移的力量
至於怎麽写
我比较推荐都用AS控制位置及比例
用影格会比较麻烦
--
物件.属性 +=(目标-物件.属性)/数字
在这个例子还满好用的
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 124.8.42.76
※ 编辑: Angelliya 来自: 124.8.42.76 (07/26 00:21)
1F:推 icedesign:科,聪明的推算!推一下 07/26 08:58