2015-07-02 103 views
0

有一段時間我試圖創建一些基於MonoGame的簡單遊戲,但我遇到了一個問題。從spritesheet獲取框架寬度

我在spritedatabase中發現了一些spritesheet,但當前圖紙上的一些圖像寬度不同/ Example /。我的意思是,在第三行/從上到下,運行圖像所在的位置,與第四行的寬度不同。

我腦海中彈出的第一件事就是複製 - 粘貼並調整所有圖像的大小,但我確信有一種更加微妙的方法可以做到這一點。

所以問題是:如何在繪製之前獲取當前幀的大小?我應該使用一些圖像識別算法嗎?

回答

0

顯然,您提供的精靈表沒有額外的信息,可以讓您無需複雜的粘貼。首先你需要知道每一幀的來源,其次是它的尺寸。精靈表中的尺寸可能會有所不同,但在這種情況下,只有正確的原點才能保證精靈總是正確定位。請注意,此類數據庫中的精靈表(通常會被忽略版權)通常會在Photoshop或其他類似軟件中手動打包。這不幸的是需要一些認真的努力來處理它們。所以要使用它們,你應該提取所有的框架,將它們放在圖層中,並確保邏輯原點位於相同的位置(對於側滾動和雙足角色來說,它可以指向腳之間)。

無論如何,我會手動提取每個精靈。您也可以在ImageMagick中使用segment_image script。但是,體力勞動的手工工作將會是相同的,甚至更少的努力。

然後,我會放大畫布所有extacted幀到最大的框架尺寸。將其包裝到spritesheet中,導入到Piskel,並重新定位每個幀以具有適當的原點。最後的工具是坦率無關的,因爲你也可以使用Flash或Photoshop。

+0

謝謝你的回答。我也認爲這將是方式,但如果你問/你是否找不到你自己的信息,總是會更好。 –