Flash舞臺中運動的對象,運動到任何一個地方,總會有一個運行時間和距原點的距離,如何實時地輸出距離和時間呢?
筆者與大家分享一個自己的個人經驗。
在舞臺中創建一個影片剪輯元件bus,將其拖動到舞臺中,作為運動的對象,在屬性面板中將實例名稱取名為“bus_mc”。
選擇“文本工具”,在舞臺繪制輸出對象到原點距離值的動態文本框,在屬性面板中將“實例名稱”取名為“dis_txt”。
用上一步同樣的方法,在舞臺繪制輸出對象運動時間的動態文本框,將實例名稱取名為“time_txt”。
新建“代碼”圖層,打開動作面板。
首先,定義一個實型變量dis,用來存儲對象距原點的距離。
接著,定義一個實型變量time,存儲對象運行的時間。
定義一個整型變n,統計對象運行的幀數。
定義兩個整型變量,設置對象X軸運動的速度和Y軸運動的速度。
然后,注冊對象bus_mc的enterframe事件的偵聽器,接收者函數為onmove。
定義偵聽器函數onmove,參數ev為事件類型。
在函數中,定義一個點p,其坐標值就是對象bus_mc的坐標。
用對象的X軸坐標與X軸速度累加的方式,實現沿X軸方向的運動。
用對象的Y軸坐標與Y軸速度累加的方式,實現對象Y軸方向的運動。
計算出對象離原點的距離值,用length屬性獲取距離值。
計算對象運行的時間,因為該動畫的幀頻為24幀每秒,所以時間值為幀數除以24。
用n累加的方式,計算對象運行的幀數。
在舞臺輸出距離值和時間值,用toFixed函數取小數點后兩位。
最后,更新顯示。
運行程序,可以看到汽車從左上方運行到右下方,在右上方的方框中實時的顯示汽車運行的距離和時間。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!