C++ アプリケーション プログラミングの実務経験が必要です。ゲーム プログラミングとスタンドアロン プログラミングのどちらを選択するかでジレンマに陥っています。どのフレームワーク/API を学ぶのに役立つか教えてください。
Qt mobile / QT gui プログラミング、その他の API、QT の代わりに MFC を学習するのはどうですか、qt 以外の gui フレームワークはありますか
C++ アプリケーション プログラミングの実務経験が必要です。ゲーム プログラミングとスタンドアロン プログラミングのどちらを選択するかでジレンマに陥っています。どのフレームワーク/API を学ぶのに役立つか教えてください。
Qt mobile / QT gui プログラミング、その他の API、QT の代わりに MFC を学習するのはどうですか、qt 以外の gui フレームワークはありますか
質問の最初の部分について: 軽量プログラミングを双方向で試すことをお勧めします。
次に、どのフレームワークを使用するかについてです。本当にゲームのコーディングのみを決定する場合は、おそらくゲーム開発用に特化したフレームワーク/エンジンを使用する必要があります。それでも、Qt ではゲーム開発を行うことができるので、決心する前にゲームやスタンドアロン プログラミングを試すことができます。
あなたが提案したフレームワークについて。MFC は以前ほど普及しておらず、将来的には Microsoft によってあまりサポートされなくなる可能性があります。Qt と wxWidgets は、クロス プラットフォーム アプリを実行できる一般的なフレームワークです。コーディングがはるかに簡単になるため、Qt をお勧めします。主要なプラットフォーム用のネイティブ アプリの作成に本当に関心がある場合は、wxWidgets がより便利になります。
さまざまな利点と制限があります。MFC はほぼ Windows ですが、QT はクロス プラットフォームであり、(IMO) 現在の求人市場ではさらに多くの需要があります (最近まで私は非常に粘り強く検索していました)。
簡単な答え: 「次の大きなこと (tm)」が来るまで QT を実行します。
ここで意見を言うことはできません。経験を積むには、要件を満たすフレームワークでプログラミングを開始してください。
Qt で十分です。オプションとしてwxWidgetsがあります。これら 2 つは、MFC とは異なり、クロス プラットフォームです。
ゲームプログラミングと GUI プログラミングのどちらを選択するかについては、両方を続けて行うことができます。
お役に立てれば!
MFC は Windows であり、主に Windows をターゲットにしている場合、WPFは新しい Micorsoft デスクトップ GUI 標準です。そうは言っても、ほとんどのゲームは 3D API ネイティブ (OpenGL/Direct3D) の方法ですべてを行い、プラットフォーム固有の主な部分はウィンドウ処理とユーザー入力です。
また、既存のユーザー インターフェイス ライブラリを使用することと、独自に作成することとの間にはトレードオフがあります。Qt または WPF ウィジェットをファースト クラスの市民としてゲームに深く統合するのは非常に難しく、特定のカスタム動作を実行するにはいくつかの手順を踏まなければならない場合があります。ゼロから手動で行うことには、何が起こっているのかを実際に学習し、やりたいことを正確に実行できるという利点があります。ただし、これのコストは、既存の完全なライブラリを活用していないことです。
私の個人的なアドバイスは、Qt または WPF のいずれかを学ぶために少し時間をかけることです (マルチプラットフォームに関心がある場合は Qt を使用します。多くのプロジェクトで Qt が使用されていますが、特に Windows 8 のおかげで、WPF が勢いを増しています)。 UI API はクライアント側からのように見えます。また、グラフィックス API (OpenGL または Direct3D) の基本についても学びます。そうすれば、あなたは決断を下すためのより良い立場に立つことができます。最終的には、ゲーム以外の UI プログラムと、別のゲーム プログラムを作成することをお勧めします。これにより、より良いアイデアが得られます。
ゲームのコンテキストでは、ツールとエディターの領域で Qt/WPF/etc を活用できます。しかし、一般的に、リアルタイムのゲーム内 UI は、緊密に統合された 3D アクセラレーション UI ライブラリを使用します。そのようなライブラリの 1 つはScaleform (市販のフラッシュ ベース) で、もう 1 つはCEGUI (LGPL/MIT) です。