我正在研究一些小遊戲的圖形。圖形將是SVG,並將大部分是基於圖塊的(例如,塞爾達傳說:鏈接到SNES的過去)。我畫了一個小草地磚,並希望在整個場地上覆制這個NxM次。在Inkscape或其他GUI SVG編輯工具中執行此操作會導致文件大小超過3.5MB,大於相同尺寸的32位位圖。SVG:我可以引用相同的元素/組/路徑而不是多次複製它嗎?
我想知道,如果它可以定義某種形式的「草磚」的對象,而不是將其複製到我這個領域的每個點,只需用相應的座標引用它。我意識到,這仍然會導致場景在加載時佔用相同數量的內存,但這意味着要在光盤上存儲更小的文件,並希望這將意味着更容易編輯,因爲在這種情況下,如果我想更改,例如,我的草地的顏色,我只需要改變我的原型對象而不是改變,然後在整個場地上重新複製新的瓷磚。
我曾經做過有關,我認爲可能幫助不同的關鍵字半打不同的搜索,但似乎沒有做什麼我要找的。我想使用'xlink:href'屬性,因爲我看到它在標籤中用於首先定義調色板,然後在包含變換數據的單獨標籤中引用它。
我嘗試使用類似:
<path id="grassyPatch" d="M 3.3310392e-7,608 31.993091,624 63.986183,608 31.993091,592 z" style="..." />
然後,帶着類似的東西複製:以多次複製到新的
<path id="grass-copy1" xlink:href="#grassyPatch" transform="translate(32,-32)" />
<path id="grass-copy2" xlink:href="#grassyPatch" transform="translate(32,-64)" />
等。位置。感謝有人能讓我知道這是否可能。我並沒有抱太大的希望,所以如果你也知道這是不可能,請讓我知道,所以我可以停止浪費我的時間。
謝謝!
另外,不要忘記,SVG是一個開放的標準! [這裏](http://www.w3.org/TR/SVG10/)是該格式的確切的*官方*規範。這真的不那麼難以閱讀;非常像文件格式的API文檔。 – ulidtko 2015-01-02 23:44:18