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

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

2
GUIでは、ボタンが押されたときまたは離されたときに入力を処理する必要がありますか?
ゲームのメニューシステム(レベル、オプションなどの選択)では、プレーヤーはゲームパッドのaボタンを押して次の画面に進みます。メニューシステムをコーディングして、ボタンが放されるまで待機してからアクションを実行します(つまり、次の画面を表示します)。最近のプレイテストのフィードバックでは、ボタンを押したらすぐにアクションを起こすという逆の方法を提案しています。私は興味があります、これが処理される標準的な方法は何ですか、そしてそれは違いを生みますか?
12 input  gui 

1
物理学とゲームロジックをUIコードから分離する
私は単純なブロックベースのパズルゲームに取り組んでいます。 ゲームプレイは、ゲームエリア内を移動するブロックで構成されているため、簡単な物理シミュレーションです。しかし、私の実装では、理想とはほど遠いものであり、より良い方法についての指針を教えていただけませんか。 多くのパズルゲームで行ったように、ゲームロジックとUIの2つの領域にコードを分割しました。 ゲームロジックは、ゲームの一般的なルール(チェスの正式なルールシステムなど)を担当します。 UIはゲーム領域とピース(チェス盤やピースなど)を表示し、アニメーション(チェスの駒のアニメーションの動きなど)を担当します。 ゲームロジックは、ゲームの状態を論理グリッドとして表します。各ユニットは、グリッド上の1つのセルの幅/高さです。したがって、幅6のグリッドの場合、幅2のブロックを境界と衝突するまで4回移動できます。 UIはこのグリッドを取得し、論理サイズをピクセルサイズに変換して描画します(つまり、定数を乗算します)。ただし、ゲームにはゲームロジックがほとんどないため、ゲームロジックレイヤー[1]は、衝突検出以外にはあまり関係がありません。仕組みは次のとおりです。 プレイヤーがピースをドラッグし始めます UIは、ゲームロジックにそのピースの正当な移動領域を要求し、プレイヤーがその領域内でそれをドラッグできるようにします プレイヤーは駒を手放す UIはピースをグリッドにスナップします(そのため、有効な論理位置に配置されます) UIはゲームロジックに新しい論理的位置を伝えます(ミューテーターメソッドを使用します。 私はそれに満足していません: ゲームロジックレイヤーのユニットテストを作成していますが、UIは作成していません。UIにはトリッキーなコードがすべて含まれていることがわかりました。ピースが他の人や境界と衝突してグリッドにスナップするのを止めます。 UIがゲームロジックに新しい状態を通知するという事実が気に入らないのでmovePieceLeft()、他のゲームのようにメソッドまたはそのようなものを呼び出すようにしたいのですが、そのアプローチにはあまり向いていません。ゲームロジックは、UIで可能なドラッグとスナップについて何も知りません。 最善の方法は、ゲームロジックレイヤーを取り除き、代わりに物理レイヤーを実装することだと思います。それに関していくつか質問があります。 このような物理層は一般的ですか、それともゲームロジック層にこれを行わせるのがより一般的ですか? グリッドへのスナップおよびピースのドラッグコードは、UIまたは物理レイヤーに属しますか? そのような物理層は、通常、ピクセルサイズまたはゲームロジック層のような何らかの論理ユニットで動作しますか? ゲームのコードベースでイベントベースの衝突検出を見たことがあります。つまり、プレーヤーがピースをドラッグするだけで、UIがそれを素直にレンダリングして物理システムに通知し、物理システムがonCollision()メソッドを呼び出します。衝突が検出されると作品に。もっと一般的なものは何ですか?このアプローチまたは最初に法的運動領域を求めていますか? [1] レイヤーはおそらく私が言っていることの正しい言葉ではありませんが、サブシステムは誇張されており、各レイヤーは複数のクラスで構成されているため、クラスは誤解しています。

3
メインメニューシステムを作成する最良の方法は何ですか?
マウスをボタンの上に移動すると強調表示するボタンを作成するのは簡単ですが、サブメニューの場合はちょっと行き詰まります。サブメニューを備えたメインメニューを使用する最良の方法に関するヒントはありますか?(Singleplayer-> Load Save-> Save 1-5?-> Start gameなど)
12 gui 

9
GUI要素についてはどうすればいいですか?
注:独自のGUIシステムを作成する予定です。学習に便利で、軽量で、必要なビットのみがあり、ゲームと関係があります。 私はそれを行う方法を考えていました。私が意味する要素は次のとおりです。 ラジオボタン ここにテキストを入力してください ボタン スライダー チェックボックス 私はまだそれらを作る方法を探していません。しかし、彼らがどのように行くかについての詳細。 考え ものを必要とするそれぞれの状態があるので、ほとんどすべてに要素のコンテナがあります。各要素はGUIピースです。 これらにはそれぞれ、位置、グラフィックなどがあります。 私がもっと行き詰まっているのは、それらのロジックです。 そのための私の考えは、モジュール性とシンプルさを可能にするために、MainMenuStartButtonを避けることでした。OptionsOneBackButtonなど。代わりにSlider Slider1を実行できます。またはボタン開始;。 代わりに、Gui :: StartButtonClickやGUI :: ColourSliderHoverなどのGUI名前空間の関数へのboost :: functionがあります。 私はこれが非常に遅いかどうか疑問に思っていました。 さらに言えば、ゲーム用のGUIを実行する簡単で簡単な方法はありますか?Qt、wxWidgetsなどはありません。
12 c++  architecture  gui 

1
フォントサイズを画面解像度と一致させる方法は?
だから、LibGDXを使用してゲームに取り組んでいて、問題があります。 ゲームをほとんどの解像度に合わせるために、たとえばメインメニューの背景画像など、アスペクト比ごとにベースアセットを作成しました。4:3の場合は800X600、16:9の場合は1280X720などにしました。 今、私はTextButtonオプションのために、sをゲームに組み込もうとしています。私の問題は、どのフォントサイズがどの画面解像度と一致するかを理解できないことです。これを理解する方法はありますか、または私が持っている各解像度を1つずつ調べて、テキストを解像度に手動で一致させる必要がありますか?

2
幅または高さを満たす塗りつぶしUnity正方形
私はこの要件でボードを作成しようとしています: 正方形である必要があります。 利用可能な幅または高さに合わせる必要があります。 キャンバスの中央に配置する必要があります。 必要に応じて、追加の中間キャンバスにラップできます。 私はアンカーで遊んでいますが、それを行うための組み合わせを見つけていません。私が考えることができる唯一の解決策は、コンテナのある種の「OnResize」をスクリプト化し、ボードのサイズをプログラムで設定することです。 これがオリジナルのレイアウトです。(1)はBoardCanvasです。(2)は取締役会です。 画面が高くなると正方形が大きくなりますが、正方形のままです。 または削減: ただし、上記の例では上端と下端にスナップしていますが、垂直方向のスペースが使用可能な幅よりも高くなる場合、正方形が左と右の境界に応じてサイズを制限することも必要です。 Q1:アンカー/ピボットでこれを行う方法はありますか?動作する場合は、BoardCanvasとBoard自体の間に中間キャンバスを作成してもかまいません。 Q2:その場合、アンカーをどこに配置すればよいですか?中間オブジェクトが必要ですか? Q3:そうでない場合、スクリプトで解決策はありますか?キャンバスに処理するOnResizeはありますか?リストにサイズ変更イベントが表示されませんが、どこを探したらよいかわかりません。すべてのフレームでそれをテストすることは少しやり過ぎに思え、イベント駆動がより良いように思えます ありがとう!

5
Vector3で演算子 '> ='を使用できないのはなぜですか?
私は私がように参照する2つの位置の間を移動するための四角形を取得しようとしている_positionAとします_positionB。どちらもタイプVector3です。長方形はうまく動きます。ただし、到達_positionBしても、本来のように反対方向に移動することはありません。 コードをもう一度見てみました。オブジェクトが移動ifすると、コード内のステートメントは、rectsの位置がに等しいフレームを逃したという結論に達しました_positionB。rectsの位置がより大きいか等しい 場合は、コードを変更して方向を逆にすることにしました_positionB。私のコードは長すぎないので、以下に表示します。 using UnityEngine; using System.Collections; public class Rectangle : MonoBehaviour { private Vector3 _positionA = new Vector3(-0.97f, -4.28f); //Start position private Vector3 _positionB = new Vector3(11.87f, -4.28f); //End position private Transform _rect_tfm; private bool _atPosA = false, _atPosB = false; public Vector2 speed = new Vector2(1f, 0f); private …
9 unity  c#  vector  mathematics  vector  matrix  unity  c#  transformation  java  3d  terrain-rendering  shading  ios  opengl-es  opengl  rendering  optimization  python  scripting  minecraft-modding  modding  pc  3d-meshes  mesh  culling  point-cloud  networking  interpolation  mathematics  game-design  ai  game-mechanics  animation  unreal-4  skeletal-animation  3dsmax  unity  c#  3d  opengl  c++  textures  unity  ide  cocos2d  cocos2d-x-js  unity  c#  mono  il2cpp  c++  game-loop  timer  linux  flash  actionscript-3  java  glsl  c++  vector  entity-component  c++  directx11  windows  visual-studio  libgdx  mouse  unity  c#  architecture  storage  unity  c#  rotation  coordinates  quaternion  vrpn  movement  vector  unreal-4  unity  shaders  unity  gui  text  bug  shooter  3d  animation  rendering  voxels  c++  mmo  multithreading  linux  textures  procedural-generation  terrain-rendering  multiplayer  mmo  game-state  java  android  libgdx  opengl  procedural-generation  unity  gui  3d  animation  tools  geometry-shader  mobile  advertisements  unity  c#  animation  scripting  unity  animation  unityscript  coroutines  unity  shaders  lighting  camera 

2
Unity 5でUI画像のマウスオーバーを検出する方法は?
移動してズームインおよびズームアウトするように設定した画像があります。問題は、ズームはシーンのどこからでも実行できることですが、マウスを画像の上に置いたときにのみズームしたいのです。OnMouseEnter、OnMouseOver、イベントトリガー、コライダーなし、コライダー付き、トリガーコライダー付きの3つすべて、および画像自体と空のゲームオブジェクトでそれらすべてを使用しようとしました。しかし、それらのどれもうまくいっていません...だから私は絶対に困惑しています...誰かがここで助けてくれませんか! これが私のスクリプトです: private float zoom; public float zoomSpeed; public Image map; public float zoomMin; public float zoomMax; void Update () { zoom = (Input.GetAxis("Mouse ScrollWheel") * Time.deltaTime * zoomSpeed); map.transform.localScale += new Vector3(map.transform.localScale.x * zoom, map.transform.localScale.y * zoom, 0); Vector3 scale = map.transform.localScale; scale = new Vector3(Mathf.Clamp(map.transform.localScale.x, zoomMin, zoomMax), Mathf.Clamp(map.transform.localScale.y, …
9 unity  c#  gui  image  mouse 

1
Quake 3 / Live hudで計算を行うことは可能ですか?
次の番号を示す新しいフィールドをQuake 3 / Quake Live HUDに追加したいと思います。 min(health + armour, health * 3) * (1.5 if guard_rune else 1) これは、殺される前に受けることができるダメージの量です。 これは可能ですか?
8 2d  gui 

3
gameswfは使用できますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、議論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 プロジェクトのページには、それの前のアルファコードことを示し、およびActionScriptのサポートが弱いであることを示唆しています。Flash UIは素晴らしいので、gameswfをC ++に適切に埋め込んで(たとえば、素敵な関数バインディング)、典型的な最新のアクションスクリプトを使用するswfを適切に再生できるようになるまでの経験があるかどうか疑問に思っていました。 市販品の値札が付いていない代替品はありますか?
8 gui  flash 

4
OpenGLで、GUIのために即時モードと保持モードを「組み合わせる」ことは悪い考えですか?
3DシーンglDrawArrays(...)を使用して描画していて、2Dオーバーレイのようなシンプルなものをレンダリングしたいとします。保持モードで2Dレンダラーをセットアップする代わりに、そのようなものに即時モードを使用することは悪い考えでしょうか? 例: void Draw() { // Draw the 3D scene: // *does stuff* glDrawArrays(...); // *some other stuff* // Setup a quad with immediate mode (for something like a vignette overlay) glBegin(GL_QUADS); glTexCoord2f(...); glVertex2f(...); glEnd(); }
8 opengl  gui 

3
Unity 5でUIテキストオブジェクトを動的に作成する方法
私はシンプルなものを探していましたが、Unity 5のドキュメントはかなり古くなっています。私が達成したいのは、スクリプトから完全に、つまり完全に動的にUIテキストを作成できるようにすることです。実際のアプリケーションでは、事前定義されていない反復回数のループでそれを行います。 Googleを使用して検索すると、その方法に関する非常に多くの例が見つかりますが、すでに廃止されている(Unityバージョン5より前の)メソッドを使用しているか、単に間違っている(ここで驚きません...)方法を使用しています。最初にCanvasをプロジェクトに追加し、次にusing UnityEngine.UIC#コードに含める必要があること、およびのようなUIテキストを宣言できることはすでに知っていText _guitextます。 ただし、以下のコードは機能しません。つまり、クラッシュするのではなく、何も表示されないということです。 using UnityEngine; using System.Collections; using UnityEngine.UI; public class MyClass: MonoBehaviour { Text _guitext; // Use this for initialization void Start () { _guitext.text = "testing"; } // Update is called once per frame void Update () { } } さらに悪いことに、ゲームがプレイされている間、オブジェクト階層リストに新しいオブジェクトが表示されないようです。 ここで正しい方向に私を指摘していただけませんか?ありがとう。
8 unity  gui  text 

1
カスタムエディター-デフォルトの外観を維持しますが、さらに追加します
OnInspectorGUIを使用して、インスペクターを1つまたは2つの追加フィールドのみを含むものに置き換える簡単な方法があるかどうかを知りたいです(1つまたは2つの追加を除いて、非カスタムエディターと同じに見えるように)最後に2つのフィールド)。少しだけ追加したいのに、手動ですべてのフィールドを再作成するのは面倒なようです。 または、特定のタイプのフィールドのデフォルトの描画を行うように統一を簡単に指示する方法はありますか?以前これで遊んでいたとき、私は表示されるものに厳密にコミットする必要があり、手動で各フィールドを書き出す必要がありました---クラスのパブリックフィールドが変更されると面倒です-そしてそれらは開発中に頻繁に行います。 tl; dr-カスタムエディターでインスペクターのデフォルトの動作をシミュレートする方法はありますか?
8 unity  gui 

3
OpenGL、FTGLのフォントの概要
ゲームでフォントをレンダリングするためにFTGLライブラリを使用していますが、テキストの周囲にアウトラインを作成する方法がまったくわかりません。影の作成は、次のように簡単にできるので簡単です。 (疑似コード) font.render(Color::BLACK, position.x + 1, position.y + 1); // Shadow font.render(Color::WHITE, position.x, position.y) // Normal text しかし、アウトラインを作成する方法は?残念ながら、インターネットでそれに対する興味深い解決策を見つけることはできませんでした。かなり奇妙に思えましたが、これは非常に人気のある問題だと思っていました。 大きなフォントだけでアウトラインを描くのは正しい方法ではありません。私が知ったように、この場合は文字が一致しないからです。 では、フォントのアウトラインを作成する簡単な方法はありますか?彼らは実際のゲームでそれをどのように行うのですか? どんな答えも事前にありがとう
8 c++  opengl  gui  fonts 

1
AndroidのGLSurfaceViewにEditTextボックスをオーバーレイすることは可能ですか?
openglメニューの背景の上に「PlayerName」ボックスを追加しようとしていますが、これは可能ですか?さまざまなレイアウトを試しましたが、EditTextボックスを上部に表示できないようです このようなことをする典型的な方法は何ですか?テキストを手動でレンダリングして入力を処理する必要がありますか、それとももっと良い方法がありますか?どういうわけか、GLSurfaceViewの上にEditTextを表示できるように見えるはずです。

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