[問題] 有關動畫的顯示寫法

看板AndroidDev作者 (.。oO)時間11年前 (2013/06/18 23:11), 編輯推噓1(107)
留言8則, 3人參與, 最新討論串1/1
我知道一般動畫都會用Animation或Animator 但是我想弄的效果像是射擊遊戲一樣 若我往正前方丟一顆球,當我往左轉的時候 球就變成在我的右方了 用Animation的話之前試過讓動畫暫停,然後重算目的座標後再重新產生一個動畫 但是若我不斷旋轉,Animation在重算的那一時間點就會卡住不動 甚至到目的座標後就當了 接著我試了ImageView,自己一個frame一個frame計算並變動它的位置 但ImageView似乎很吃資源,移動的時候會一直閃,畫面也一頓一頓的 最後我用了canvas,每個frame就清空重畫所有球的位置 效果勉強可以接受,但跟Animation比起來還是差了一截 比如同時間內Animation可以順利處理40顆飛球,但用canvas就只能20顆 請問還有更好的做法嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.164.74.250

06/19 00:58, , 1F
用OPENGL最快
06/19 00:58, 1F

06/19 12:50, , 2F
SurfaceView + canvas api or opengl
06/19 12:50, 2F

06/20 20:00, , 3F
研究了幾天終於成功用opengl畫出球了, 但我發現效能仍是無
06/20 20:00, 3F

06/20 20:01, , 4F
法提升, 我想主要的原因應該是每個frame每顆球都會去呼
06/20 20:01, 4F

06/20 20:02, , 5F
叫google map的getProjection()
06/20 20:02, 5F

06/20 20:03, , 6F
因為我想讓球根據經緯度跑, 並非螢幕座標
06/20 20:03, 6F
※ 編輯: laugher 來自: 140.116.72.155 (06/20 20:04)

06/20 20:05, , 7F
而地圖的視角是會變的, 所以我想最後的辦法應該就只能從演
06/20 20:05, 7F

06/20 20:05, , 8F
算法下手
06/20 20:05, 8F
文章代碼(AID): #1Hm7Yz8R (AndroidDev)