• ベストアンサー

C++とWIN32APIとゲームプログラミング

zunchaxの回答

  • zunchax
  • ベストアンサー率0% (0/1)
回答No.5

1) WindowsのGUIプログラミングもC++だったり、C言語だったり、C#、VBと色々です。どの言語を選択するのかは趣味のレベルの話です(出来上がったものの性能差はあるでしょうが)。 また、他の方も言われていますが、C++はC言語をほぼ内包していますので、C++の勉強が無駄になることはないかと思います。 ですが逆に、C言語は基礎でC++は拡張、と言えなくともない部分がありますので、一度C言語でプログラムの勉強をした方が良いかもしれません。 C言語の段階で、C言語の基本構文や、ポインタ、構造体、列挙子などを学ぶことができます。他にも色々ありますが、殆どがそのままC++でも使用することができます。 C言語の基礎ができた時点で、C++の勉強として、構造体の機能を拡張する気分で、メンバ関数を入れてみて構造体をクラスにしてみる・・・といった手順でC++に移行するとすんなりいけるんじゃないかな?と思います。(厳密には構造体≠クラスですが、最初は構造体≒クラス程度の認識で良いかと) 6) 厚さ2cm前後のC言語の入門書(それ以上の厚さだとダレてしまう)を10回ほど繰り返し読むことをオススメします。(回数は適当です)分からないなりに何回も読み返しているうちに分かってくる場合もありますので。 7) Win32APIや、DirectXをいちから勉強するのは結構苦労するかと思います。それらを簡単に使えるようにしてくれている人様のライブラリなどを使ってゲームプログラミング自体の勉強に特化させたほうが良いかもですね。(Win32APIや、DirectXを直接扱うのはその後でも十分かと。) ゲームを作りたいのであれば、DXライブラリなど如何でしょうか? 自分は使ったことはありませんが、シンプルな作りになっているようですし、サンプルも基本的なものは揃っているようです。 プログラミングの勉強初期は習うより慣れろ感が強いと個人的には思っていますので、人様のプログラムを多用し、書き写し、ひとつでも多くのプログラムを作成したほうがよいと思いますよ。

参考URL:
http://homepage2.nifty.com/natupaji/DxLib/
midugane
質問者

お礼

お礼、大変遅くなってしまいすみませんm(_ _)m おっしゃられてるようにCも勉強することにしました。 理解に苦しむ部分も多々ありますが何度か読み直してるうちに 「なるほど!」となる部分がありました。 入門書のすべてを完全に理解できてるわけではありませんが 考え込みまくってそれでも理解できない部分は「こんな機能もあるんだ」って頭の隅に置いといて色々試してみる感じで進てます。 とりあえずゲームを作りたいのでお勧めのDXライブラリに進んでみたいと思っています。 ありがとうございます。頑張って勉強してみます☆

関連するQ&A

  • C++とゲームプログラミング

    ■C言語とWin32APIでしばらくコーテイングしていましたが、 最近、C++言語を始めた者です。 ■勉強の為、C++とWin32APIで書かれゲームプログラムを探しています。 ■DirectXなどは使用してない物を希望します。 適当なHP(教材)を教えて下さい。

  • VC++でwin32APIを作っているのですが・・・

    こんにちは。私はwin32APIを勉強しているc言語初心者です。 私はMicrosoft Visual C++ 2008を使ってc言語のwin32APIをプログラミングしているのですが、独学でやっているので物凄く邪道なwin32APIプログラミングをしているような気がするのです。 ・c言語のプログラムを書いて、C++のwin32APIプロジェクトとしてビルドする。 ・ヘッダーファイルにwin32API関数がなかったので、自分のwindowOSからwin32API関数を探し出してVC++2008のなかのincludeフォルダ内にコピー&ペーストして使えるようにした。 これって邪道ですか?一応何の問題もなくwin32APIプログラムが作れるのですが、もっと正規なやり方があるでしょうか。回答よろしくお願いします。

  • C言語でWin32API

    C言語を使ってWin32APIを呼び出すような、Windowsプログラミングを始めたいんですが、何かよい本やサイトはご存知ないでしょうか。 Visual C++6.0はあるんで、それを使えばいいと思うんです。 C言語はわかるんですが、Windowsプログラミングに関する知識はほとんどないので、ごく基本的なことから知りたいんです。 WinMain関数というのを書くようなんですが、その書き方すら知りません。  スケルトン(出来れば、それよりもっと基本的なこと)から書いてあるようなものです。

  • C#プログラミングに役立つAPIの本???

    もっぱらC#を使用しています C言語のプログラム遺産の活用等には全く縁の無い私です だから今後もC#だけで行こうと思っております VC++などに移る気などサラサラありません それ故に、念のために ・・・・・ 実は内心では心配だから、APIだけは勉強しておこうと思って教科書を探しました 日経ソストウエアが出版している『APIで学ぶWINDOWS』¥2095を購入しましたが的外れ! ウインドウズの解説本でありプログラミングには役立ちません 更にC#プログラミングに役立つAPIの本を探したのですが、適当なものが見つかりません ご存知でしたら教えてください、お願い申し上げます

  • APIとMFC

    WindowsでC言語で書けて(利用できて)無料のものがAPI、C++で使えて有料なものがMFC だから、アマチュアプログラマーは、APIが使いこなせるのならば、APIを使ってプログラムを 書いたほうがいい という理解で正しいでしょうか。 ここでAPIと書いたのはWin 32 APIのことです。

  • 【Cか】ノベルゲーム【Javaか】

    情報工学科(進学予定)の大学1年生で、専門的なことはまだやっていません。 1年のうちに趣味と学業をかねてプログラムを少しやっておこうと思い、 ビジュアルノベル系のゲームが好き、フォトショップなども使えることから ノベルゲームを1から作ろうと前々から思っていました。 ですが、どの言語にするかきっちり定まらず、結果CとJavaの入門書を終えた段階にいます。 要はどっちつかずな状態です。 ちなみにプログラムのお勉強という意味合いも含め、NScripterなどは使うつもりはありません。 ――初めはCをやっていたのですがCでGUIを扱うにはWin32API?なるものが必要だと知り、そして Javaだと比較的簡単に扱えると知って、Javaをはじめ、 しかし今振り返ってみてCとJava、どちらにするか絞りきれません。 なにかアドバイスいただけたらと思います。 よろしくお願いいたします。

  • .NET frameworkとWIN32API

    c#の勉強をしていたらWIN32APIを[ ]演算子で囲って直接呼び出すコードが多数 あるのですが、 .NET Frameworkだけで高度な(デバイスドライバなどの深い部分)プログラムを書くことはできないのでしょうか。 それとも動作が速いとかそういう理由でwin32apiを呼び出したのでしょうか。 .NET frameworkはwin32apiの上に位置するというのはわかるのですが・・・

  • MFCなのかWin32APIなのか

    みなさんはじめまして。グフです。 これからWindows上でC/C++(VisualStudio.NET2003) にて、Windowsアプリケーション開発の勉強を始め ようとしています。 いろんなサイトや書籍を見ている中で、Windowsアプリ の開発方法としてMFCをつかうやり方と、Win32APIで 開発する方法の2つがあることがわかりました。 これからWindowsの勉強を行うにはどちらの方法で開発 するのが望ましいのでしょうか? ケース by ケースだとは思いますが、何かアドバイス いただければと思いまして、投稿させていただきました。 やはり基礎からおさえるのであれば、Win32APIの方が よろしいのでしょうか? 今後のWinFX環境を考えると、Win32APIでの知識が無駄 になってしまうということはないのでしょうか?

  • C言語次のステップ

    C言語について一通り勉強しました。 (入門的な本に書いてあるような事柄) 次に勉強するといいことを教えてください。 それから、入門レベルよりひとつ上の内容の書籍があれば教えてください。 ポインタ、アセンブラ、 マルチスレッド、マルチプロセス、といった ちょっと深いテーマみたいなのも教えてください。 (ここにあげたのもいまいちわかってませんが、、)

  • C++ Win32APIでツールバーの位置を下にしたい。

    C++ Win32APIでツールバーの位置を下にしたい。 C++ Win32APIを勉強中でして、ウインドウを作成し、ツールバーをCreateWindowsEXで作成したのですが、このツールバーをウインドウの下部に表示する事は出来ないのでしょうか? ネット上のサイトには作成までの手順は載ってはいたのですが、ツールバーの位置を変更する処理はどうしても見つかりませんでした。 どなたかご存知の方いらっしゃいましたらご指導のほどよろしくお願い致します。