[問題] 持續移動的球 不使用enter_frame

看板Flash作者 (臉都歪了)時間13年前 (2012/03/15 14:15), 編輯推噓3(3015)
留言18則, 4人參與, 最新討論串1/1
場景上有顆持續移動的球 撞到牆會反彈 小弟我目前的做法是用ENTER_FRAME 讓球每次的x,y坐標移動 可是有個問題 使用ENTER_FRAME當我今天把FPS調或調低的時候 球的速度就不一樣了 請問有沒有不使用ENTER_FRAME的解法 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.55.25

03/15 14:27, , 1F
補充一下 ,也不想使用TIMER
03/15 14:27, 1F

03/15 14:36, , 2F
Tweener
03/15 14:36, 2F

03/15 14:38, , 3F
但是碰撞判斷還是得用ENTER_FRAME
03/15 14:38, 3F

03/15 17:21, , 4F
Tweener不錯,不過一般來說FPS應該很少在動態調整吧
03/15 17:21, 4F

03/15 17:21, , 5F
建議盡可能先考慮好用的FPS就別改了 20~40都還蠻合理的
03/15 17:21, 5F

03/15 17:34, , 6F
可是如果放上IE的話 FPS還是會跟設定的一樣嗎@@?
03/15 17:34, 6F

03/15 17:35, , 7F
不是聽說IE會鎖flash的資源還什麼的?
03/15 17:35, 7F

03/15 18:57, , 8F
基本上在瀏覽器內執行的一定會比直接在FlashPlayer跑慢
03/15 18:57, 8F

03/15 19:00, , 9F
但並不會差太多,如果變的很慢,那就是你程式的問題了
03/15 19:00, 9F

03/15 19:01, , 10F
要修正的可能就是程式的效能,而不是調高FPS可以解決的
03/15 19:01, 10F

03/15 22:42, , 11F
瀏覽器在背景的話 flash會有sleep mode的問題 FTP會降
03/15 22:42, 11F

03/16 06:13, , 12F
還是可以用enter frame來更新位置,只不過方法要從
03/16 06:13, 12F

03/16 06:13, , 13F
frame-based movement改成time-based movement
03/16 06:13, 13F

03/16 06:13, , 14F
也就是說用getTimer()計算兩個frames之間的時間差
03/16 06:13, 14F

03/16 06:13, , 15F
然後計算正確的位移量,這跟是不是用enter frame或timer
03/16 06:13, 15F

03/16 06:13, , 16F
沒有任何關係
03/16 06:13, 16F

03/16 06:14, , 17F
基本上就是利用 x += v * dt 這條式子
03/16 06:14, 17F

03/16 09:18, , 18F
樓上精闢 感謝
03/16 09:18, 18F
文章代碼(AID): #1FOOaEUE (Flash)
文章代碼(AID): #1FOOaEUE (Flash)