Re: [問題] 物件依時間倒數 移動、旋轉

看板Flash作者 (moonet)時間12年前 (2011/10/25 19:31), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/4 (看更多)
※ 引述《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)

10/25 22:37, , 1F
10/25 22:37, 1F

10/26 02:09, , 2F
好強~我試試看~
10/26 02:09, 2F
文章代碼(AID): #1Efft--t (Flash)
討論串 (同標題文章)
文章代碼(AID): #1Efft--t (Flash)