2010-12-15 47 views
3

我無法找出設置碰撞檢測動畫的最佳方法。我有一個falldown(流行的計算器遊戲)的全功能版本,使用處理程序和onDraw()爲行和位圖球繪製矩形。然而,這個動畫跳過(看起來很滯後),所以我試圖將動畫切換到補間動畫。帶有碰撞檢測的動畫?

我的問題是一個概念性問題:我如何檢測動畫中的碰撞?我將側身動畫看作兩條路線中的一條: a)我以非常小的步幅進行動畫製作。不過,我想這會和當前的動畫設置一樣糟糕。 b)我一直在屏幕的左邊或右邊設置一個動畫,但動畫中的每一步都會檢查以確保球沒有穿過一排。

我面臨與球的向下運動類似的問題。是否有可能不斷地訪問/更新球的位置(以整數形式存儲),然後在動畫與其他東西碰撞時將其縮短?當且僅當它不在某一行的上方時,是否有可能讓球成爲動畫?必須有某種方法來檢測動畫中的碰撞,但我不知道如何。

編輯:如果動畫課不適合遊戲,我該如何動畫我的遊戲?就像我所說的,即使當我將延遲設置爲1毫秒時,處理程序提取系統也會讓球跳過。

+2

Animation類和android-manifest.xml定義的動畫不適合任何形式的遊戲使用。他們只是在GUI中移動東西。 – 2010-12-15 22:35:32

+0

你可以看看gamedev.stackexchange.com以獲得更好的解答遊戲特定問題。 – 2010-12-15 22:36:49

+0

馬克是正確的..你不應該使用動畫 – Snailer 2010-12-16 00:06:53

回答

2

UI畫布的一個線程爲遊戲邏輯繪製方法和一個線程/任何非UI相關的線程。

一個線程更新對象的位置等...和另一個UI線程只是將它們繪製到屏幕上。

在這個莊園中,您的遊戲邏輯線程是連續的,並且在每個路徑上更新X,Y位置並處理碰撞檢測等事情......繪製線程只需要更新X,Y位置並將位圖繪製到畫布上。

您可以使用SurfaceView作爲繪製位圖/圖像/精靈集合的畫布。您可以查看Google提供的衆多Android遊戲示例,以快速查看如何完成此操作,但通常我是如上所述。

+0

請鏈接至提及的示例。 – ezaspi 2017-10-28 12:33:00