作者laugher (.。oO)
看板AndroidDev
標題[問題] 有關動畫的顯示寫法
時間Tue Jun 18 23:11:51 2013
我知道一般動畫都會用Animation或Animator
但是我想弄的效果像是射擊遊戲一樣
若我往正前方丟一顆球,當我往左轉的時候
球就變成在我的右方了
用Animation的話之前試過讓動畫暫停,然後重算目的座標後再重新產生一個動畫
但是若我不斷旋轉,Animation在重算的那一時間點就會卡住不動
甚至到目的座標後就當了
接著我試了ImageView,自己一個frame一個frame計算並變動它的位置
但ImageView似乎很吃資源,移動的時候會一直閃,畫面也一頓一頓的
最後我用了canvas,每個frame就清空重畫所有球的位置
效果勉強可以接受,但跟Animation比起來還是差了一截
比如同時間內Animation可以順利處理40顆飛球,但用canvas就只能20顆
請問還有更好的做法嗎?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.164.74.250
1F:推 hijamoya:用OPENGL最快 06/19 00:58
2F:→ bukiya:SurfaceView + canvas api or opengl 06/19 12:50
3F:→ laugher:研究了幾天終於成功用opengl畫出球了, 但我發現效能仍是無 06/20 20:00
4F:→ laugher:法提升, 我想主要的原因應該是每個frame每顆球都會去呼 06/20 20:01
5F:→ laugher:叫google map的getProjection() 06/20 20:02
6F:→ laugher:因為我想讓球根據經緯度跑, 並非螢幕座標 06/20 20:03
※ 編輯: laugher 來自: 140.116.72.155 (06/20 20:04)
7F:→ laugher:而地圖的視角是會變的, 所以我想最後的辦法應該就只能從演 06/20 20:05
8F:→ laugher:算法下手 06/20 20:05