2013-03-18 58 views
1

我的問題是可能將是最初非常困惑閱讀,所以才忍耐一下。我會爲背景有點前言開始它關閉:繪製的Android屏幕上有一個座標系

前言:

我將要使用尋路從地圖數組中的應用程序。

^即很模糊:將有字符數組,表示壁,樓梯等,並且將存在找到最佳路徑的功能。

我想顯示在Android屏幕上的路徑。

將有由表示所述生成的路徑(可能「x」或某物)的陣列產生的功能字符。


好,使之更加明確:將有一個的「X的陣列中的「路徑」。這些「X的表示是要顯示了Android屏幕上的路徑。


我實際的問題:

如何在數組中翻譯的 'X' 在屏幕上顯示一條線?我有想法使用for循環/如果,檢查是否有一個「X」,並且如果有,則顯示在表示實際的屏幕的第二陣列的小紅點/行語句。

我試圖找到這一點,但它的這種輸入到谷歌尷尬的事情,所以我完成我的研究有什麼。

是否有某種內置Android功能,您可以分配不同的顏色,以不同的座標?


This is kind of what I want to appear on the screen. If this were the app, the blue would be represented by 'x's in the first array.

+0

如果你發現自己寫作「使其更清楚」/「那是模糊的」,考慮回去並編輯你覺得你需要更加清晰的部分,而不是在下面添加更多的說明。也許繪製一個你的問題的ASCII示例圖片會有用嗎? – 2013-03-19 01:28:40

+0

這不是我不明白;我只是提供關於如何編寫更好問題的指示(它傾向於幫助他們回答。)如果他/她回答了您的問題,請提高他/她並「接受」它! :) – 2013-03-19 01:38:08

+0

這很酷!我只是想幫助 - 而我upvoted你的問題:) – 2013-03-19 01:47:12

回答

1

可以有幾種方法來實現具有座標系映射到描述的路徑矩陣的這種效果。

根據數組的大小和更新調用的頻率(這聽起來像路徑以一個渲染後發現運行一次),它可能不會太昂貴,只是環通。我個人會做的是先來了解一下如何繪製在畫布上,得到了屏幕尺寸,並相應地調整範圍。

Get screen dimensions in pixels - 如何獲取屏幕尺寸 http://danielnadeau.blogspot.com/2012/01/android-canvas-beginners-tutorial.html - 在畫布上

一旦你可以繪製一個縮放畫布一個很好的教程,它只是運行一個循環,看起來類似的問題:

float scale_x = screen_width/columns; 
float scale_y = screen_height/rows; //pixels per grid square 
for(int x = 0; x < columns; x++) 
for(int y = 0; y < rows; y++) 
if(data[x][y] == 'x') drawRect(x*scale_x, y*scale_y, scale_x,scale_y) //if something found, draw a colored square 
+0

不,但他給了一個很好的教程,很高興我可以幫助 – munch1324 2013-03-19 03:41:15