作者etrexetrex (moonet)
看板Flash
标题Re: [问题] 物件依时间倒数 移动、旋转
时间Tue Oct 25 19:31:07 2011
※ 引述《royhsu (SAW)》之铭言:
: 原始档:http://www.mediafire.com/?jp8xwy6c3ov08xc
: 请问一下 如果想制作时间倒数 同时有个物件依时间进行移动
: 假设 要从A点 移动到 B点 ((这个距离时固定的))
: 但希望从A出发 到达B点的时候 刚好时间倒数完毕
: 也就是说 能用时间来控制它移动的量
: 在时间归零归零的同时 到达B点
: ---------------------------------
: 目前我只会做到"时间倒数",移动的问题就.......
: 请各位高手帮帮我,谢谢大家~
推文里面的大大们都提到了
我跳出来答个详解
你需要知道的是
1. A点
2. B点
3. 物件在A点的时间
4. 物件到达B点的时间
所以我们宣告四个变数
var 时间A : int = new Date(2011,9,25).valueOf();
var 座标A : Point = new Point(100,100);
var 时间B : int = new Date(2011,10,25).valueOf();
var 座标B : Point = new Point(500,200);
假如想要指定到时、分、秒也可以
我们可以透过线性内插的方式取得物件应该落在哪里
作一个函数好了
funtion getNowPoint():Point {
var 现在时间 : int = new Date().valueOf();
var t : Number = (现在时间 - 时间A) / (时间B - 时间A);
if( t > 1 ) t = 1;
var 现在座标 : Point = Point.interpolate(座标B, 座标A, t);
return 现在座标;
}
所以可以写一个时间轴回圈 去更新物件的座标
addEventListener(Event.ENTER_FRAME, function(){
var p:Point = getNowPoint();
物件.x = p.x;
物件.y = p.y;
});
做完之後
会发现物件只能走直线 超蠢
如果想走导引线的话
建议是把影格画好
然後用同样方法去算出现在应该跳到哪一个影格
直接这样写就行了吧
物件.gotoAndStop( Math.floor(t * 总影格数) +1);
--
blog:
http://etrex.blogspot.com/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.137.198.18
※ 编辑: etrexetrex 来自: 140.137.198.18 (10/25 19:40)
1F:推 popobbs:推 10/25 22:37
2F:推 royhsu:好强~我试试看~ 10/26 02:09