2008-08-10 34 views
0

我正在尋找關於如何在遊戲應用程序中繪製可換膚的「按鈕」的想法。如果我使用固定的精靈非矢量圖像作爲按鈕背景,那麼我無法輕鬆調整按鈕大小。如果我編寫代碼來繪製可調整大小的按鈕(就像繪製Windows按鈕一樣),那麼程序員必須參與其中 - 並且它使得蒙皮變得困難。另一種選擇是將按鈕分解爲9個較小的圖像(3x3),並將它們全部拉伸 - 像HTML中的圓角一樣。在視頻遊戲中繪製可換膚的「按鈕」的最佳方式是什麼?

有另一種「更簡單」的方式?什麼是最好的方法?

回答

2

如果真要做到這一點,做到這一點的方法是使用紋理座標。就像用一張桌子在HTML中製作可拉伸的按鈕/面板設計一樣,您只需定義角的UV座標,頂部可拉伸區域,底部可拉伸區域,側面可拉伸區域以及中間。

對於這之中在XNA引擎中實現(雖然它是一個封閉的源引擎)的一個例子,請參閱本: http://www.flatredball.com/frb/docs/index.php?title=SpriteFrame_Tutorial

0

是。我正在編輯器上工作。對於XNA來說,它是一種類似於XAML的語言(或者,如果您願意,可以使用OpenLaszlo)。所以按鈕可以由編輯器調整大小。這些按鈕也可能被樣式表調整大小。

我想你是對的,這很可能是按鈕都將是一個真正的設計尺寸相同。但即使在一個窗口的應用程序,你有時需要更寬的按鈕來容納文本。

0

應該有可能與着色器。您可能需要進行texel查找,但它會減少複雜用戶界面中三角形的數量。

相關問題