2013-12-22 127 views
0

我有一個隨機在畫布上繪製的位圖數組myBitmapArray。我有一個隨機變量Random rnd = new Random();,每次調用onDraw方法(速度爲每秒10幀),我執行此代碼:canvas.drawBitmap(myBitmapArray.get(rnd.nextInt(6)), x + xSpeed, y + ySpeed, null);其中xSpeedySpeed用於更改畫布上每個位圖的位置。位圖按預期繪製。如何知道畫布上的哪個位圖被觸摸?

我還使用onTouchEvent根據觸摸的位圖播放一些聲音(例如,如果觸摸的位圖是字符,則該字符發音)。我的問題是執行此任務。

我知道我需要檢查觸摸事件x和y是否位於位圖圖像中,但是由於我隨機繪製了位圖,我不知道如何獲取它們的座標以使其可以檢查。

有關我如何解決此問題的任何想法?

僅供參考:我檢查了這個問題,但沒有太多幫助:here

回答

1

您必須跟蹤位圖的X和Y位置。否則,不可能知道你的位圖在哪裏繪製。一旦你有了你的位置的X和Y位置,你可以把你找到的邏輯和鏈接提供給你的問題。

+0

這是否意味着我不能通過位圖在畫布上以這種隨機方式放置它們,以便能夠跟蹤它們中的每一個? –

+0

您可以在屏幕上的任何位置繪製/放置位圖,但Android無法通過任何API或方法爲您提供X/Y位置。你必須照顧你自己的事情。通過將X/Y位置保留在代碼中的某處。 –

相關問題