タグ付けされた質問 「gui」

グラフィカル・ユーザー・インターフェース。プレーヤーがゲームを操作するために使用できるツールを説明するために使用される用語。

9
OpenGLに適したGUIですか?[閉まっている]
Superbibleを使用してFreeGLUTでOpenGLを学習し始め、スキルを磨くために基本的なグラフィックスから得た知識を使用しています。 この経験をさらに活用するために、FreeGLUTが使用するものを上書きするためにGUIを統合したいのですが、今私の質問は次のとおりです。 ライブラリのいくつかの特徴: オープンソース マルチプラットフォーム(LinuxおよびWindows) C / C ++ 他に推奨事項がある場合は、私の問題に対する回答とともに自由に投稿してください。

7
イミディエイトGUI-ええ、いや?[閉まっている]
私は、MFC、QT、Forms、SWING、および数年前のいくつかのWeb-GUIフレームワークなど、多くの「保持された」GUIシステム(これが意味することについては以下)でアプリケーション開発に取り組んできました。私は常に、ほとんどのGUIシステムの概念が非常に複雑で不器用であることを発見しました。コールバックイベント、リスナー、データコピー、文字列から何かへの変換の量-変換(など)は、アプリケーションの他の部分と比較して、常にミスと頭痛の原因でした。(データバインディング/モデルの「適切な」使用でも)。 今、私はコンピューターゲームを書いています:)。私はこれまでに1つのGUIで作業しました。宮城(よく知られていませんが、基本的に他のすべてのシステムと同じアイデアです。) ひどかった。 ゲームのようなリアルタイムレンダリング環境の場合、「保持された」GUIシステムはさらに時代遅れになったように感じます。ユーザーインターフェイスは通常、自動レイアウトする必要も、オンザフライでサイズ変更可能なウィンドウを持つ必要もありません。代わりに、常に変化するデータ(世界のモデルの3D位置など)と非常に効率的に対話する必要があります 数年前、私は基本的にイミディエイトグラフィックスモードに似ていますが、ユーザーインターフェイス用の「IMGUI」に出会いました。私はまだアプリケーション開発に携わっており、IMGUIシーン自体はそれほど広くも成功もしていないように思えたので、あまり注意を向けませんでした。それでも、彼らがとるアプローチは非常にセクシーでエレガントであるため、このUIの方法を使用して次のプロジェクトのために何かを書きたいと思うようになりました(私は職場で誰も納得させることができませんでした:(...) 「保持」と「即時」の意味を要約します。 保持されたGUI:別の初期化フェーズで、ラベル、ボタン、テキストボックスなどの「GUIコントロール」を作成し、それらを画面に配置する記述的な(またはプログラム的な)方法を使用します。コントロールは、X、Yの位置、サイズ、境界線、子コントロール、ラベルテキスト、画像などの独自の状態のほとんどをメモリに保持します。コールバックとリスナーを追加して、イベントを通知したり、GUIコントロールのデータを更新したりできます。 即時GUI:GUIライブラリは、ワンショットの "RenderButton"、 "RenderLabel"、 "RenderTextBox" ...関数で構成されています(編集:Renderによって混乱しないでくださいプレフィックス。これらの関数は、ユーザー入力のポーリング、文字の挿入、ユーザーがキーを押したときに文字の繰り返し速度を処理するなどのコントロールの背後にあるロジックも実行します...)コントロールを「即座に」レンダリングするために呼び出すことができます(doesn ' tはすぐにGPUに書き込まれる必要があります。通常は、現在のフレームについて記憶され、後で適切なバッチに分類されます。ライブラリはこれらの「状態」を保持しません。ボタンを非表示にする場合は、RenderButton関数を呼び出さないでください。ボタンやチェックボックスなどのユーザーインタラクションを持つすべてのRenderXXX関数には、ユーザーがボタンをクリックしたかどうかを示す戻り値があります。あなたの「RenderGUI」関数は、ゲームの状態に応じてRenderXXX関数を呼び出すかどうかの大きなif / else関数のように見え、すべてのデータ更新ロジック(ボタンが押されたとき)がフローに絡まります。すべてのデータストレージはGUIの「外部」にあり、Render機能にオンデマンドで渡されます。(もちろん、大きな関数をいくつかに分割したり、GUIの一部をグループ化するためにいくつかのクラス抽象化を使用したりします。1980年のようなコードはもう書いていませんよね;)) 今回、Unity3Dが実際に組み込みのGUIシステムとまったく同じ基本的なアプローチを使用していることがわかりました。おそらく、このアプローチを備えたGUIがいくつかありますか? それでも..周りを見ると、保持されたGUIシステムに強いバイアスがあるように見えますか?少なくとも、Unity3Dを除き、このアプローチは見つかりませんでした。元のIMGUIコミュニティは、かなり静かなようです。 だから誰も両方のアイデアで働いていて、強い意見がありますか? 編集:私は実世界の経験から生じる意見に最も興味があります。IMGUIフォーラムでは、即時GUIアプローチの「理論上の弱点」について多くの白熱した議論があると思いますが、実際の弱点について知ることは常により啓発的であると思います。
38 gui 

9
ゲームのHUDとGUIの違いは何ですか?
ゲームのグラフィカルHUD(ヘッドアップディスプレイ)とGUI(グラフィカルユーザーインターフェイス)の違いを知っている人はいますか?HUDはGUIの一部であり、情報を表示するだけですか?つまり、GUIを使用して(ボタンをクリックするなど)、HUDを技術的に操作することはできませんか?または、両方の用語は基本的に同じことを説明していますか? 注:ゲーム中にこれらの単語について話している。 次の例を参照してください。 この画像ではGUIとは何を表し、HUDとは何を表しますか?
34 gui  terminology  hud 

9
心臓の容器ではなく、ヘルスバーの設計を選択する必要があるのはなぜですか?
ヒーローベースのゲームを設計するときは、アドベンチャー、RPG、ブロウラーなど、最終的には健康システムを決定する必要があります。ゼロUIの再生システム(Call of Dutyなど)がなければ、Zeldaスタイルのハートコンテナの個別セットを使用する必要がありますか、またはStreet Fighterのような継続的なヘルスバーを使用する必要がありますか? ここで私が考えてきた競合のいくつかのポイントがあります: ハートは理解しやすい(ヒットできるヒット数は非常に明確です) ハートは、拡張するときの達成感を向上させます(わずかに長いバーではなく、ハート全体が余分になります(さらに悪いことに、変化はありません)) ハートは大きくなり、画面の多くのスペースを占有しますが、ヘルスバーはコンパクトに保つ​​ことができます ヘルスバーを使用すると、ヘルス/ダメージバランシングを非常に細かく制御できます(floatではなくint) このテーマに関する関連するゲームデザインの記事を見つけることができなかったので、この問題についてある程度の知識を持っている人、または洞察力のあるリンクだけでも貢献してくれて本当に感謝しています!

3
ラスターベースのグラフィックスコンテンツの解像度の独立性にどのようにアプローチしますか?
ハンドヘルドなど、ロックされたプラットフォーム仕様で実行するのに十分でない幸運なゲームは、さまざまな解像度形式とアスペクト比で実行する必要があります。 3Dゲームでは、ラスターグラフィックスに基づいたHUDまたはメニューGUIがあり、2Dゲームでは、スプライトの容器であるクワッドの束があります。 私の質問は、さまざまな解像度とアスペクト比にまたがるコンテンツの設計と運用にどのようにアプローチするかということです。300x400ピクセルのスプライトであり、タイルでできたレベルに囲まれたスプライトキャラクターがあるとします。異なる解像度/アスペクト比では、まったく異なるFOVが表示されます。または、HUDまたはGUIメニューがある場合は、画面に対して同じ位置に同じサイズのいくつかのものを保持する必要があります。それでも、グラフィックソースはラスタービットマップであり、ベクターではありません。 明らかに、問題は何度も対処されています。私はこれまでのところあなたのために働いた様々なアプローチを聞いて興味を持っています。あなたは解像度とアスペクト比または他のアプローチに基づいた式を介して魔法のように必要な次元に変換する任意の次元に依存しない「ピクセル」ユニットを保持していますか? 編集: したがって、結論はアスペクト比を列挙することです。アスペクトと解像度の最小の組み合わせは、重要なものを設計するものです。あなたがするなら安全なエリア。縦横比は同じですが、解像度が高いと単純なスケーリングの問題になります。アートコンテンツは、最高の解像度で設計されています。アスペクト比を大きくすると、情報が表示されたレベル/ FOVがより多く表示されますが、安全な領域の情報ほど重要ではありません。私が作ったこの画像のようなもの。
32 2d  sprites  gui 

9
どのC ++ GUIライブラリを提案できますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 私はC ++で独自のゲームエンジンを構築しています。現在、使用するユーザーインターフェイスを決定しています。 ライブラリを使用する必要がありますか?自分で作るべきですか?
26 c++  gui 

7
インターフェイス101:きれいにする
実際にリリースしたゲームをいくつか作成しました。私が何度も何度も遭遇する特定の問題が1つあります。それはゲームのインターフェイス/テーマの問題です。 ゲームのルックアンドフィールとインターフェイスについて、How意的で一貫性のない決定をどのように行うことができますか? たとえば、Silverlightの化学ベースのゲームのバージョン1では、自然で横長のスタイルのルックアンドフィールを使用するという(悪い?)決定を下し、このUIを作成しました。 その後、後のイテレーションで、私はより賢くなり、より「機械的」で汚れたルックアンドフィールを使用しました。その結果、最終的なUIが作成されました。 私は間違いなく、UIの好みが反復によって改善されたと言います。しかし、それは多くの最初のlot意的な決定とそれに続く多くの微調整の結果でした。 ゲームのテーマを設定するより良い方法はありますか? 幻想/ SF小説を書いているとき、書面で類似を与えるために、あなたが記述する必要がある多くの要素があります。オブジェクト/創造物/場所などをarbitrarily意的に発明することができますが、数分間座って、地域、地域、惑星、または宇宙を設計すると、より一貫した世界が得られます。すべてはそれからうまく一緒にフィットし、そしてあなた自身に尋ねることができ、「どのようにだろう、このこの宇宙で動作しますか? 編集:私はこれをうまく説明しなかったようです。極端に質問を簡単にしましょう:タイトル画面(背景、フォント、スキンボタン)をレイアウトする必要がある場合、どのように表示するかを決定するにはどうすればよいですか?緑か青か グランジかどうか?丸みを帯びているか、平らですか?セリフまたはサンセリフ? その質問を取り上げて、ゲーム全体に展開してください。物事がどのように見えるかをどのように把握しますか?一貫性のある任意のプロセスにするために、どのプロセスを使用しますか? スクリーンショットをもう一度見てください。私は草/空/岩にこだわることができたかもしれませんが、金属は化学反応と原子の考えにより適しているように見えました。
23 gui  ui-design 

7
HTML5ゲーム(キャンバス)-UIテクニック?
PhoneGapを使用してモバイル(Android / iPhone / WebOS)向けのJavaScript / HTML5ゲーム(Canvasを使用)を作成中です。現在、UIとプレイボードをどのように構築し、どのように相互作用させるかを設計しようとしていますが、最善のソリューションが何であるかはわかりません。ここに私が考えることができるものがあります- drawImageやfillTextなどを使用して、キャンバスにUIを直接構築します。通常のDOMオブジェクトを使用して、キャンバスの外側にUIのパーツを構築し、UI要素がプレイボードキャンバスとオーバーラップする必要がある場合、divをキャンバス上にフロートします。私が考えていないゲームUIを構築するために使用できる他の可能なテクニックはありますか?また、これらのどれが「標準」の方法と考えられますか(HTML5ゲームはあまり人気がないので、おそらく「標準」の方法はまだないでしょう)。最後に、どの方法を推奨/使用しますか? 事前に感謝します!

6
2D UIの処理に使用する座標系は何ですか?
アスペクト比の質問に続いて、2D UIシステムで作業しているときに他の人が使用しているものを聞くことに興味があります(ほとんどの場合、独自のソリューションです)。具体的には、座標系をどのように処理しますか。私の考えでは、3つのオプションがあります。 ハードコードされた座標(例:0-> 720、0-> 576) 正規化された座標(0.0-> 1.0、0.0-> 1.0)、レンダリング前に実際の座標にマッピング 仮想座標(例:0-> 1600、0-> 1000)、レンダリング前に実際の座標にマッピング ハードコードは、固定プラットフォームを使用していて、画面スペースの座標が事前にわかっている場合、またはすべての可能な画面サイズのセットの画面レイアウトを作成する準備ができている場合にのみ有用です。 正規化された座標はいいですが、画面の縦横比が固定されていない場合はあいまいになります(たとえば、ワイドスクリーンで実行した場合、4:3よりも異なる物理座標に0.75がマップされます)。また、作成者にとって、UI要素を(0.2 x 0.2)として宣言するのは本当に直観に反し、レンダリング時に実際に正方形ではないことがわかります。 仮想座標は曖昧ではありませんが、再マッピング段階での正規化座標と同じ問題に悩まされます:小さな10進数の不一致により、1つずれたエラーが発生する可能性があります。 同様に、固定解像度の画面がある場合、正規化された座標と仮想座標の両方は、UIイメージ内のアーティストの細かく作成されたピクセルと画面上のピクセル間の1:1マッピングを保証するのが非常に難しいことを意味します。厄介なスケーリングアーティファクト(画面上のテクスチャ付きクワッドとしてレンダリングしていると仮定)。 特に縦横比の曖昧さを避けるために、仮想座標アプローチを採用しました。16:10画面にレンダリングする場合、UIスペースは(0,0)->(1600,1000)ですが、4:3にレンダリングする場合、使用可能なUIスペースは実際には(133,0)->(1467 、0)。 私が気づいていないより良い解決策はありますか?これら3つのアプローチが抱える問題を最小限に抑えるための良い戦略はありますか?
20 rendering  gui 

4
Unityの新しいUI-GUI要素によって呼び出される機能を動的に変更します
OnClickボタンとOn Value Changedスライダーの値を動的に変更しようとしています 。 これがどのように行われたかを推測する必要がある場合は、button / gui要素への参照を取得します。次に、ボタンスクリプトコンポーネントを取得し、その関数呼び出しのリストにアクセスします。ただし、そのリストを変更する方法がわかりません。誰にもアイデアはありますか? 役立つ可能性のある詳細: 呼び出される関数は、カスタムスクリプトコンポーネントの一部です スライダーに「動的」変数オプションを使用する 動的ボタンの作成に使用できます
17 c#  unity  gui 

4
魔法/マナ/エネルギーの良い(レトロ)シンボルは何ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 心臓が健康のために多く使用され、古いレトロゲームに住んでいるように... ...エネルギー、マナ、マジックポイントに使用するのに適したアイコンは何ですか?
17 art  gui 

7
コードのUIモックアップ
私のUIデザイナーは、UIの素敵なPhotoshop PSDを作成しました。私が抱えている最大の問題は、使用されているよりエレガントなフォントをゲーム内でレンダリング可能なものに変換することです。Photoshopでこれらのフォントスタイルを何らかのビットマップフォントに変換する方法はありますか? コード内でこのようなテキストをレンダリングできるようにする必要があります。
17 xna  c#  gui  fonts 

1
OpenGL(LWJGL)でHUD / GUIを作成する
ゲーム開発の段階で、HUDまたはGUIを作成する必要があります。私はこの部分に行ったことがないので、どのように行われたのかわかりません。画面上の固定位置に単純な四角形をレンダリングしようとしましたが、問題があります。カメラを正投影で動作させるには、次を使用します。 public void lookThrough() { GL11.glMatrixMode(GL11.GL_PROJECTION); GL11.glLoadIdentity(); GL11.glOrtho(position.x, position.x + Display.getDisplayMode().getWidth()/zoom, position.y + Display.getDisplayMode().getHeight()/zoom, position.y, -1, 1); GL11.glMatrixMode(GL11.GL_MODELVIEW); } この方法を使用して画面上で何かを修正する方法がわかりませんか?これを回避する方法はありますか?ありがとう:)
15 opengl  java  gui  lwjgl 

2
エンティティ/コンポーネントシステムとUI「エンティティ」
エンティティ/コンポーネントシステムにはまだグリーンです。私はスプライト(またはスプライトシート)を描画し、入力(マウス/タッチクリック)を処理するための便利なコンポーネントを持っているので、当然これらを再利用してUIコンポーネント(レベル選択画面などのボタンなど)を作成したいと思います。 これは非常に奇妙に思えます。エンティティは、プレイヤー、敵、パワーアップなどの「ゲームモデル」として常に理解されていました。一方、コード再利用の観点からは、UIのコンポーネントを再利用することは理にかなっています。 UI / GUIの懸念はどのように(そしてどこで)エンティティ/コンポーネントシステムに適合しますか? (注:この質問は、複数のプラットフォーム/言語に適用されるため、プラットフォームに依存しません)

2
Time.deltaTimeを使用しているにもかかわらず、動きはフレームレートに依存しているように見える
Unityでゲームオブジェクトを移動するために必要な変換を計算する次のコードがありますLateUpdate。これはで呼び出されます。私が理解していることから、私の使用はTime.deltaTime最終的な翻訳フレームレートを独立させるべきCollisionDetection.Move()です(ただレイキャストを実行することに注意してください)。 public IMovementModel Move(IMovementModel model) { this.model = model; targetSpeed = (model.HorizontalInput + model.VerticalInput) * model.Speed; model.CurrentSpeed = accelerateSpeed(model.CurrentSpeed, targetSpeed, model.Accel); if (model.IsJumping) { model.AmountToMove = new Vector3(model.AmountToMove.x, model.AmountToMove.y); } else if (CollisionDetection.OnGround) { model.AmountToMove = new Vector3(model.AmountToMove.x, 0); } model.FlipAnim = flipAnimation(targetSpeed); // If we're ignoring gravity, then just …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.