既修C++

ファイル分割

次は画面上に文字を描画できるようにしようと思うのですが、その前に描画関連の機能を別ファイルに切り出します。 ファイルを分割しておくとそれぞれのソースファイル内で関数や変数の参照が閉じるため、いわゆる「モジュール化」「カプセル化」を行うことが…

先週分の復習

先週分のソースは http://cid-b9b6c411563637af.skydrive.live.com/self.aspx/%e5%85%ac%e9%96%8b/%e6%97%a2%e4%bf%aeC++/05%e6%9c%8802%e6%97%a5/main.cpp にアップロードしました。 先週分と言いつつ微妙に違ってますが見た目の動作は同じです。 詳しい説…

先週の反省

"Framework"と"Frameworks"の間違いは気付きませんでした。長い時間無駄にしてしまってごめんなさい。 Xcodeで動作確認してなくてごめんなさい。おのれ、UTF-8 ちょっと急ぎすぎたかも。「やっぱり自分にゲーム製作はまだ早いか…」なんて思って欲しくないの…

注意:printfなどの出力時改行ができない

Mac上の文字コード(UTF-8)ではバックスラッシュとエンマークが違う文字コードです。 なのでエンマークだとエスケープシーケンスがちゃんと機能しません。 ブログからソースをコピーするとエンマークになると思いますが、これをXcode上でバックスラッシュに置…

注意:XcodeでのDebug構成時「DEBUG」マクロがない

XcodeはDebug構成でビルドするときもマクロ"DEBUG"を自動では定義してくれません。 そこで自分で設定する必要があります。 画面上部メニューバーの「プロジェクト」→「プロジェクト設定を編集」と進み、「ビルド」タブを開きます。 「構成」が「アクティブな…

注意:Xcodeで「SDL Application」のプロジェクトを新規作成したとき

Xcodeのプロジェクトウィンドウ右側ペインに赤い字で「SDL.framework」というのがあると思いますが、これを右クリック→「情報を見る」→「一般」タブから「パス」を変更します。 デフォルトでは "/Library/Frameworks/SDL.framework"だと思いますが、これをさ…

キーボード入力を受け取る

そろそろ自機を左上隅から移動させてやります。 中身の説明をする前に移動できるようにしたコード全文を掲載しますね。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include <assert.h> #include "SDL.h" //==========================================================</assert.h></math.h></string.h></stdlib.h></stdio.h>…

FPS管理

FPSは60で決めうちにしてしまいましょう。 例えば「この動作の後40フレーム待機して、その後あっちに50フレームかけて移動して…」なんてことを泥臭く書いていくことになるのでこの数字は終始一貫して変更されるべきではありません。 また60と定義しておいて…

エラー/デバッグ出力関数の作成

必要な機能は printfと同じように変数の内容を出力させられること 書き込み後すぐフラッシュすること。(呼出し後すぐに異常終了しても大丈夫なように)←これ大事 デバック出力はマクロによって有効/無効が切り替えられること。(アサーションみたいな感じで) …

構成整理

ここらで画像表示は一旦やめて全体の構成を見直します。 ゲーム全体の処理はものすごく大雑把に言うと 初期化処理 メインループ 終了処理 に分けられ、さらに「メインループ」の中を分けると 1フレームごとの動作 描画 待機(fpsを一定にするため) になります…

とりあえず画像の表示

画像表示はゲームの要です。まずはそこから。 画像ファイル"Fighter.bmp"はここにアップしました。 これを (実行ファイルが生成されるディレクトリ)/Resources/Images/ の中に置いてください。(ディレクトリは作成してください。) 実行ファイルと同じフォル…

SDLのインストール(ECCS対象)

ここの記述はECCSのMacのみが対象です。 これ以外の環境で開発をする場合は、その環境に適した設定を行ってください。 にけのて Mac の Xcode で SDL Framework を使ってみる を参照させていただきます。指示に従ってください。 !!!注意!!! 指示に従ってくだ…

ガイダンス

始める前に教える内容の方針についてお話しします。 1. SDL(Simple DirectMedia Layer)を使用してゲームを作れるようになることを目標としています。 SDLについて詳しくはSDL - Wikipediaで。 2. ゲームと言ってもいろいろなジャンルがありますので、すべて…