タグ付けされた質問 「c++」

C ++は、静的に型付けされた自由形式のマルチパラダイムでコンパイルされた汎用プログラミング言語です。

4
テトリスでブロックを回転させる方法
高さ20行、幅10列のゲームボードグリッドがあり、原点(0,0)は左上隅にあります。4つのブロックで構成されるテトリミノを使用しています。左上隅の原点を基準とした各ブロックのx、y位置があります。また、ピボットの位置、つまり左上隅の原点を基準にした回転の中心点もあります。 各ブロックはゲームボードの四角に整数位置を持っているため、ピボットはブロック間に小数位置を持ちます(例:(10.5,10.5) 私の質問は次のとおりです。ピボットを中心に各ブロックを回転させるのにどの数式を使用できますか? 私はすでに既存の同様の質問と回答を見てきましたが、仕事に就くことができる答えを見つけることができませんでした。 ヘルプをいただければ幸いです。
17 c++  rotation 

1
ResourceManagerクラスの設計
趣味のゲームエンジン用に中央のResourceManager / ResourceCacheクラスを作成することにしましたが、キャッシュスキームの設計に問題があります。 ResourceManagerには、ゲームのすべてのリソースを組み合わせて使用​​される合計メモリのソフトターゲットがあります。他のクラスは、リソースオブジェクトを作成します。リソースオブジェクトはアンロード状態になり、ResourceManagerに渡します。次にResourceManagerは、ソフト制限を念頭に置いて、特定のリソースをいつロード/アンロードするかを決定します。 別のクラスがリソースを必要とする場合、そのリクエストはResourceManagerに送信されます(文字列IDまたは一意の識別子を使用)。リソースがロードされると、リソースへの読み取り専用の参照が呼び出し元の関数に渡されます(参照カウントされたweak_ptrにラップされます)。リソースがロードされていない場合、マネージャーは次の機会(通常はフレームの描画の最後)にロードするオブジェクトをマークします。 私のシステムはいくつかの参照カウントを行いますが、リソースが読み取られているときにのみカウントします(したがって、参照カウントは0かもしれませんが、エンティティはまだそのuidを追跡している可能性があります)。 初めて使用する前にリソースをロード用にマークすることもできます。以下は、私が使用しているクラスのスケッチです。 typedef unsigned int ResourceId; // Resource is an abstract data type. class Resource { Resource(); virtual ~Resource(); virtual bool load() = 0; virtual bool unload() = 0; virtual size_t getSize() = 0; // Used in determining how much memory is // being used. …

1
オブジェクト指向プログラミングでデータ指向設計を適用する方法は?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 データ指向設計(DOD)に関する多くの記事を読んで理解していますが、DODを念頭に置いてオブジェクト指向プログラミング(OOP)システムを設計することはできません。この2つを混ぜるにはどうすればよいですか?目的は、DODを舞台裏で使用しながら、素晴らしいOOPインターフェースを持つことです。 私もこれを見ましたが、あまり助けにはなりませんでした:https : //stackoverflow.com/questions/3872354/how-to-apply-dop-and-keep-a-nice-user-interface
17 c++  architecture 

4
HDRはどのように機能しますか?
HDRとは何か、どのように機能するかを理解しようとしています。 私は基本的な概念を理解しており、D3D / hlslを使用してどのように実装されるかについて少し理解しています。 しかし、まだかなり霧がかかっています。 地球のテクスチャと、星として機能する頂点の小さなポイントリストで球体をレンダリングするとします。これをHDRでどのようにレンダリングしますか。 以下に、私が混乱しているいくつかのことを示します。 シェーダーでは値が[0、255]に制限され、[0、1]に固定されるため、テクスチャに基本的な画像形式だけを使用することはできません。バックバッファについても同じことが言えます。フォーマットは浮動小数点フォーマットである必要がありますか? 関係する他のステップは何ですか?確かに、浮動小数点形式を使用してレンダーターゲットにレンダーし、後処理としてブルームを適用する以上のことが必要ですか?(出力はとにかく8bppになると考えています) 基本的に、HDRの手順は何ですか?どのように機能しますか?このプロセス以外に、プロセスを説明する優れた論文や記事を見つけることはできないようですが、基本を少し読み飛ばしているようで、混乱を招きます。
17 c++  hlsl  directx11  hdr 

3
C ++はゲーム開発で「まだ」優先されますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 私は2Dゲームプログラマーです。私が得意とするプログラミング言語はC、Java、C#です。また、Actionscript 2.0、3.0、およびいくつかのjavascriptも知っています。3Dゲームプログラミングの学習に興味があります。これまでのところ、私はさまざまなゲーム開発フォーラムや記事をグーグルで読んで蓄積してきました。ほとんどのプログラマーはC ++を好む傾向があることに気付きました。また、オンラインゲームプログラミング教育コースでは、C ++とVisual C ++を開始コースとして教えることを好むことに気付きました。3Dゲームプログラミング用のC ++、C#、Javaの「強さ」の違いを知りたいので、この質問をしている理由です。 また、すでに2Dのゲームプログラマー向けの優れた 3Dゲームプログラミングの記事へのリンクを含めます。 PS:私見、私はまたC + +が不可解であることがわかりました。
17 c++  3d  game-industry 

4
ゲームの保存/読み込みシステムを作成するにはどうすればよいですか?
C ++でゲームの保存/読み込みシステムを作成する方法を見つけようとしています。今のところ、私はそれをすべてバイナリフラグを使用して行っています。誰もそれを別の方法で行う方法の手がかりを手に入れましたか?バイナリを使用しても構いませんが、オプションを知りたいです。また、特定の事柄を決定するために、1つのイベントの完了または未完了のステータスを簡単に確認できるものが必要です(このゲームの多くのアイテムシステムは、プレイヤーが行ったことまたは行っていないことに依存しますゲームの全体を通して)。
17 c++  loading 

5
いつベクター/リストを使用する必要がありますか?
リストをいつ使用するかは理解できますが、ビデオゲームでリストを使用するよりもベクターを使用する方がよい場合はわかりません。高速ランダムアクセスを使用する方がよい場合 (そして、ポインタを削除/追加するだけなので、リストに挿入/削除する方が速い理由を理解していますが、それでも対応するアイテムを見つける必要があります...)

3
ゲームコンテンツの保存にデータベースを使用する必要がありますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 4年前に閉鎖されました。 SFMLを使用してC ++で記述された2Dゲームがあります。ファイルまたはデータベースに行/エントリ/行を追加することで、アイテムやエンティティなどのコンテンツを簡単に追加できるように、ゲームを拡張可能にしたいと考えています。 プログラムにコンパイルする必要はないが、実行時に読み書きできるものを探しています。データベースを使用するのが適切な場合
16 c++  sfml  databases 

6
C ++エンジンプログラミングでシングルトンを正しく使用するにはどうすればよいですか?
私はシングルトンが悪いことを知っています。私の古いゲームエンジンは、すべてのデータを保持してから実際のゲームループまですべてを処理するシングルトン「ゲーム」オブジェクトを使用していました。今、私は新しいものを作っています。 問題は、window.draw(sprite)ウィンドウがである場所で使用するSFMLで何かを描画することですsf::RenderWindow。ここに表示される2つのオプションがあります。 ゲーム内のすべてのエンティティが取得するシングルトンゲームオブジェクトを作成します(以前使用したもの) これをエンティティのコンストラクタにします:(Entity(x, y, window, view, ...etc)これはばかげて面倒です) エンティティのコンストラクタをxとyだけに保ちながらこれを行う適切な方法は何ですか? メインのゲームループで作成したすべてを追跡して、ゲームループでスプライトを手動で描画することもできますが、それも面倒で、エンティティの描画機能全体を完全に完全に制御したいと考えています。

2
ベアOpenGLは、小規模開発者にフレームワーク/エンジンに対してどのような利点を提供しますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 私は、インディー開発者がフレームワークとエンジンから離れ、ベアOpenGLを使用するか、SDL / SFML2と組み合わせて使用​​する傾向にあることに気付きました。インディー開発者として、低レベルのOpenGLが個別のエンジンまたはフレームワークで提供できるものがわかりません。 ほとんどのきちんとしたエンジンとフレームワークは、必要な機能を提供し、邪魔をしません。また、OpenGLを直接処理するオプションを開く場合があります。クロスプラットフォームをコンパイルする機能を提供するものさえあります! 私はボンネットの下で何が起こっているかを学ぶという願望を理解していますが、OpenGLがエンジンやフレームワークを介してインディー開発者に提供するかもしれない利点を見ることができません。 OpenGLを使用してゼロからゲームを構築する背後にある理由を説明できますか?
16 opengl  c++ 

2
大規模ゲームの入力管理手法
大規模なゲームで入力を管理するための標準的な手法はありますか。現在、私のプロジェクトでは、すべての入力処理は次のようにゲームループで行われます。 while(SDL_PollEvent(&event)){ switch(event.type){ case SDL_QUIT: exit = 1; break; case SDL_KEYDOWN: switch(event.key.keysym.sym){ case SDLK_c: //do stuff break; } break; case SDL_MOUSEBUTTONDOWN: switch(event.button.button){ case SDL_BUTTON_MIDDLE: //do stuff break; } } break; } (私はSDLを使用していますが、メインプラクティスではライブラリとフレームワークも適用されると考えています)。大規模なプロジェクトでは、これは最善の解決策ではないようです。ユーザーが何を押したかを知りたいオブジェクトがいくつかある場合があるため、それらのオブジェクトが入力を処理する方が理にかなっています。ただし、イベントを取得すると、イベントバッファからプッシュされるため、別のオブジェクトがその入力を受け取らないため、すべてが入力を処理することはできません。これに対抗するために最も一般的に使用される方法は何ですか?
16 c++  sdl  input  standards 

5
ほとんどのチュートリアルが古くなったときにOpenGLで開始する[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 4年前に閉鎖されました。 このような質問はすでにたくさんあると思いますが、OpenGLライブラリの絶え間ない更新はそれらをすべて捨て去り、1、2か月後には、ここでの答えは再び役に立たなくなります。 C ++を使用してOpenGLでプログラミングを開始する準備ができました。動作するコンパイラがあります(DevCpp。VC++に切り替えるように頼まないでください。理由を聞かないでください)。現在、OpenGLを使用したプログラミング方法についての堅実なチュートリアルを探しています。私のアシスタントは、NeHe Productionsが提供するチュートリアルを見つけましたが、私が知るようになったとき、それはまさしく時代遅れです!(ただし、OpenGLキャンバスをサポートする基本的なウィンドウをまとめました) それから私はオンラインに行き、どうやらfreeglutを使っているOpenGL SuperBibleを見つけましたか?しかし、私が知りたいのは、SuperBible 5th editionがもう最新のものであるかどうかです。私が見つけたfreeglutへの提案は、最新バージョンは2.6.0でしたが、現在は2.8.0であると言いました! OpenGL SuperBibleは今でも良い、そしてかなり最新のスタート地点ですか? OpenGLを学ぶのに最適な場所はありますか? DevCppインクルードディレクトリ(GLにあるかもしれません)に単にfreeglutを保存することは許可されていますか、それとも重要な手順はありますか 私はまだ始まったばかりなので、私が尋ねるとは思わなかったコメントや提案はありますか? @dretaは私のためにいくつかのことを解決したので、今、私は何を尋ねるべきかについてのより良いアイデアを持っています: OpenGLに直接アクセスする代わりに、ラッパーライブラリを使用してOpenGLから始めたいと思います。初心者にとっては、プログラミングや良い結果を得るのは簡単だと思いますが、まだすべての汚れた詳細を理解する必要はありません(@stepheltonが述べたように)。 問題は、サポートされなくなった関数への未定義の参照がないライブラリが見つからないことです。Freeglutは動作可能に聞こえますが、それでもGLUを使用しています。誰も私ができることを知っていますか?また、最初のSuperBibleのソースをコンパイルしようとしましたが、GLAPIがタイプとして定義されていないため、GLUライブラリで発生したエラーが発生しました。 SuperBibleを使用したいのですが、これを修正する方法がわかりません。
16 c++  opengl 

1
Mac OSXでの入力にPS3コントローラーを使用する
OSXのPS3コントローラーに接続するUSBドライバーを見つけることができました。ここで報告されているように、Bluetooth経由でコントローラーに接続できます。 Snes9xを介して入力が適切に機能していることを確認しました。 とにかく、それは私の実際の質問の背景にすぎません。MacでC ++経由でPS3 HIDにアクセスする方法はありますか?XCodeを使用したMacでのC ++開発は比較的初心者であり、使用する可能性のあるライブラリの検索でインターネットは失望しています。 コードでコントローラーのボタン/軸の状態にアクセスする方法についてアイデアを持っている人はいますか?それらを入力マップに転送できますか?

6
C ++でモバイルプラットフォーム用のゲームを開発できますか?
私はC ++とCをよく理解しており、C ++を使用してAAAゲームを開発した経験もあります。今、私は恥知らずにもiOSまたはAndroidのモバイルゲーム開発に飛び込むことを考えています。残念ながら、私はObjective-Cとjavaを知らず、またそれを学ぶ勇気もありません。したがって、前述の理由のように、JAVAとObjective-Cの単一のステートメントを使用せずにC ++でモバイル開発を行う可能性はありますか?
16 c++  java  android  ios  objective-c 

3
C ++標準ライブラリの実装を比較/比較するドキュメントはありますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 4年前に閉鎖されました。 (これはゲームプログラミングそのものではありませんが、歴史上、すべての大規模なゲームがこれらのことを心配していると言っていても、これを早めに最適化しないように言われると確信しています) さまざまなC ++標準ライブラリ実装間のパフォーマンス、特にメモリ使用量の違いをまとめたドキュメントはどこにありますか?一部の実装の詳細はNDAによって保護されていますが、STLportとlibstdc ++とlibc ++とMSVC / Dinkumware(vs. EASTL?)との比較は非常に役立つようです。 特に、次のような質問に対する答えを探しています。 どのくらいのメモリオーバーヘッドが標準コンテナに関連付けられていますか? 仮に宣言されただけで動的割り当てを行うコンテナがある場合、どのコンテナですか? std :: stringはコピーオンライトを行いますか?短い文字列の最適化?ロープ? std :: dequeはリングバッファーを使用しますか?

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