2011-05-11 68 views
4

畫我打算使用SVG繪製「地圖」(城市,河流,道路等)。因此,所有對象都將被繪製在一張svg圖像中,並且只有那些位於可視區域內的對象纔會被顯示(可見)。SVG在遊戲開發的地圖與地圖移動

問題1:

是否合理的做法?或者我會更好地關心需要繪製哪些特定對象?

一個我想要實現的功能是「拖」的地圖。計劃如下工作:用戶將鼠標光標指向地圖內的某處,按鼠標按鈕並移動鼠標。所以有些物體會從可視區域出來,而其他物體會被畫出來。

問題2:

是更好地改變可見對象的座標,以便根據鼠標移動轉移呢?或者最好改變「可視區域」(猜測,這應該可以通過viewbox svg-object參數操作)?

非常感謝!任何想法都歡迎!

回答

0

我不是一個專業人員,也不是我非常好的程序員,但是我之前和svg地圖一起工作過,我認爲這是一個合理的方法,svg可以容納很多數據,如果你有一個好的渲染器它應該能夠跟上。至於問題2,我想說的是改變視圖框,否則你會發現自己改變每個svg對象的座標,很多人已經爲svg圖像製作平移代碼,所以做一個快速的谷歌搜索,這應該會幫助你。

3

聽起來有點像Polymaps給我。如果您打算提供一個巨大的svg主文檔,那麼平鋪的polymaps方法更可取。

+0

+1鏈接到Polymaps。很有意思。 – luniv 2011-05-27 22:06:57

0

最好的方法會受到SVG的大小和複雜程度的巨大影響。

您可能希望創建快速實驗用更大,更復雜的樣圖宜早不宜遲,和鑽機它做簡單的平移(你可以花時間到手藝自己之前嘗試svgpan)。它不需要是一個完全一致的地圖 - 你可以重複一堆有代表性的形狀,仍然可以得到一個好的測試用例。

如果您的示例地圖在您關心的瀏覽器中平滑過渡,則可以避免平鋪(或以其他方式顯示整個部分)的複雜性。

如果你覺得生澀又慢,看着Polymaps將是下一個地方去尋找@Erik達爾斯特倫的建議(但涉及到很多服務器端的工作,所以這將是很好的避免)。

+0

順便說一下,SVG對於這種事情來說是非常有用的,只要你能獲得你所需要的客戶端性能。 – peteorpeter 2011-05-12 13:14:56