ビデオゲームでスキン可能な「ボタン」を描画する最良の方法は何ですか?

StackOverflow https://stackoverflow.com/questions/7017

  •  08-06-2019
  •  | 
  •  

質問

ゲーム アプリケーションでスキン可能な「ボタン」を描画する方法に関するアイデアを探しています。ボタンの背景に固定スプライトの非ベクター画像を使用すると、ボタンのサイズを簡単に変更できません。サイズ変更可能なボタンを描画するコードを作成する場合 (Windows のボタンが描画されるのと同じように)、プログラマが関与する必要があり、スキニングが困難になります。もう 1 つのオプションは、ボタンを 9 つの小さな画像 (3x3) に分割し、それらをすべて引き伸ばすことです。HTML で行われる角丸処理のようなものです。

他に「簡単な」方法はありますか?最善のアプローチは何ですか?

役に立ちましたか?

解決

これを本当に実現したい場合は、テクスチャ座標を使用する方法があります。テーブルを使用して HTML で伸縮可能なボタン/パネルのデザインを作成するのと同じように、角、上部の伸縮可能な領域、下部の伸縮可能な領域、側面の伸縮可能な領域、そして中央の UV 座標を定義するだけです。

これを XNA エンジン (クローズド ソース エンジンではありますが) に実装した例については、次を参照してください。http://www. flatredball.com/frb/docs/index.php?title=SpriteFrame_Tutorial

他のヒント

はい。私はエディターの仕事をしています。これは、XNA 用の XAML に似た (または OpenLaszlo に似た) 言語です。したがって、ボタンのサイズはエディターで変更できます。ボタンのサイズはスタイル シートによって変更される場合もあります。

実際のデザインではボタンはすべて同じサイズになる可能性が高いというのは正しいと思います。ただし、ウィンドウのアプリであっても、テキストを収容するためにボタンの幅を広くする必要がある場合があります。

シェーダーを使えば可能なはずです。おそらくテクセル ルックアップを行う必要がありますが、これにより、複雑な UI 内の三角形の数が削減されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top