1人でゲームが作れるように修行します。2 (487レス)
1人でゲームが作れるように修行します。2 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
201: 179 [sage] 2011/04/06(水) 23:50:41.54 ID:Qi29hSL7 VC++のデバック関数でなんか開放忘れのメモリリークを簡単に見つけられるとか WEBに乗ってたのを試したら余裕でリークしてた。。。 直してたら今度はdeleteがエラー出す、なにこのスパイラル 本体が進まない罠 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/201
202: SGGK ◆6pZCoAtaxk [sage] 2011/04/07(木) 00:03:18.39 ID:1CreScRP やっぱり自分は永遠に初心者のようです…。 >>200 MultiByteToWideChar、調べてみました。 引数にコードページというのがあって、いきなりここから躓いてしまうレベルなので、APIの難しさがよくわかりました。 感謝します。いつかもっと勉強してAPIの領域まで入っていけるようになってみたいです。 まず、DXライブラリを疑ってみる。 DXライブラリのホームページを見ると更新履歴に何箇所かユニコードがどうのこうののバグを解決みたいな事が 書いてあっ
たので期待して最新のバージョンにしたけど、こちらのバグは解決できなかった。 文字コード関係とは別に気になっていた現象があったので、今日はこれの解決を試みる。 コンパイラの下の画面にいつごろからか、「コマンド プロンプトで 'VCExpress / resetskippkgs' と入力してください」という文字が表示されるようになって、 でも2D座標系のプログラム書いていた時にはデバッグ、リリースモードどちらもコンパイル出来ていたので気にしていなかった。 でも、もしやと思い、コマンドプロンプトで試したが、VCExpressは外部コマンドでも内部でも無い
…みたいなメッセージが出てうまくいかない。 resetskippkgsを検索してもハードディスク内には無い様子。 昨日、コンパイラがこわれてしまったかもしれないと書いたのはこの事。 やむを得ず、VC++2008をアンインストールして、もう一度インストールしてみることにした。 「'VCExpress / resetskippkgs' と入力してください」のメッセージは出なくなった。 コンパイルしてみると今度は、「error LNK2001: 外部シンボル "_main" は未解決です」というエラーメッセージが出た。 これも苦しんだけど、なんとか運よく今日中にクリア出来た。 でも、今度は画
面がおかしくなってしまったので、明日頑張ります。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/202
203: SGGK ◆6pZCoAtaxk [sage] 2011/04/07(木) 00:21:04.82 ID:1CreScRP >>201 メモリリークは難しくてわかりませんが、バグの為に本体を進められない気持ちは自分にもよくわかります。 1日ソースから離れてもう一度見るとふと原因が分かったりすることもあるので、お互い頑張っていきましょう! http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/203
204: 名前は開発中のものです。 [sage] 2011/04/07(木) 02:08:35.75 ID:ATP6AwEd >>201 さあ早くスマートポインタに移行するんだ http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/204
205: SGGK ◆6pZCoAtaxk [sage] 2011/04/08(金) 00:00:34.46 ID:WGj3ab+N 昨日は説明が不足していたので補足。 コンパイラがこわれたのではと思ったのは他にも理由があり、プロジェクトのプロパティ画面が出てこなかった事。 画面を出そうとすると、共通言語ランタイムに問題があるといった感じのメッセージや.NETがどうのこうのというメッセージが出てどうにもならなかったので、 コンパイラのアンインストール、インストールに踏み切った訳。 その結果、プロパティ画面を出せるようになり、14歳シリーズVC++2008編にあるやり方で再設定できるよ
うになった。 設定は文字セットとランタイムライブラリのところ。 文字セットはマルチバイトセットを使用する。 ランタイムライブラリは、Debug構成ではマルチスレッドデバッグ、Release構成ではマルチスレッドにすればOK。本にやり方が書いてなかったら自分は何も出来ない…。 たぶんなんらかの原因で文字セットの設定がユニコードに変えられてしまったのがバグの原因だったのかなと思う。 そして、「error LNK2001: 外部シンボル "_main" は未解決です」が出る件。 これは、プロジェクトを作成するときに設定画面でWin32プロジェクトを選択
すべきところを間違えてwin32コンソールアプリケーションを選択したから。 コンソールアプリケーションだとプログラムの始まりはmain関数である必要があるのに自分のソースはWinMainだから、それがエラーになった原因だった。 14歳シリーズの最初の方のページ見て設定したのが間違えた原因。 本の最初の方はコンソールアプリケーションで解説しようとしてたから。そのとおり設定すれば当然間違える。 最後に画面がおかしい件、おかしいというのはフィールド画面に貼ったはずのBMP画像が表示されずに灰色になってしまう状態になってしまってるこ
と。 これは、フィールドモデルをメタセコイアで表示させて運よく気が付いた。 原因はフィールドモデルに貼るテクスチャ用BMPファイルの置き場所が実際の場所と異なっていたこと。 何故そうなったかというと、コンパイラをインストールしなおしたときにゲーム作成関係フォルダをどうせだからと思って、 もう少し上の階層に移してしまったから。 これですっきり。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/205
206: 179 [sage] 2011/04/09(土) 00:10:09.82 ID:rY2c9kYC >>204 スマートポインターもString系も便利そうだなぁ 次回ソース再構築するときに移行しようと思う 今はちょっとやる気がデナイ…とりあえずメモリリーク直ったぽいし(ぇ >>205 バグ取れるとすっきりするよね こっちもすっきりしたよ。 とりあえずミニマップレーダー表示した。 次は自分の手持ちのユニットリスト作るかな−。 あれ?なんかまわりばっかり作ってる気がするな・・・。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/206
207: SGGK ◆6pZCoAtaxk [sage] 2011/04/10(日) 00:36:34.94 ID:TFhm8weY >>206 お互いバグとれて良かったですね。 プログラムはバグ取れなければ先に進まなくなってしまうのでいつも冷汗です。 今日はファイルをまとめてUP 前から見てる人は知ってるので大丈夫だけど、最近見た人がすごいの作ってると誤解されてると心配なので昔UPしたのもUPしてます。 間違えて変なファイルとか書き込みとかしてるかもしれない… SGGK019 : 2Dで書いていた時の最終版 SGGK020 : 019に体力ゲージ付けた 3D_TEST : >>139で言ってい
た >それを表す図やテストプログラムの実行ファイルをUPしようかと思ったけど ←のテストプログラムの実行ファイル 3D_TEST説明 : >>139で言っていた >それを表す図やテストプログラムの実行ファイルをUPしようかと思ったけど ←のそれを表す図 SGGK024 : 今書いてる最新版、選手がマウスカーソルを追いかけるだけ 置き場所 ttp://ux.getuploader.com/sggk/ http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/207
208: SGGK ◆6pZCoAtaxk [sage] 2011/04/10(日) 23:13:37.24 ID:Opp/fMA0 今日は進捗無し。来週は現実の方がいろいろあり、作業が進まない予感。 とりあえずの目標は、2D座標系でやったのと同じ事が3D座標系でも出来るようにしたい。 時間、得点表示、前半、ハーフ、後半の切り替え関係などの実装を予定。 2Dの時はメインループの中にそのまま処理を書いてしまったため、メインがすごい長文になり読みにくかったので、 メインからは関数が呼ばれて、その関数の中に色々処理を書くようにしたい。 それと昨年末に読みかけだった3Dの本をもう少
し読んでみたい。 今のままだと当たり判定をどうすればよいのかわからないのでそのヒントを探すのが目的。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/208
209: 179 [sage] 2011/04/12(火) 01:29:16.27 ID:iONqvBHy 動かしてみました。普通にもりもり動きましたよ〜 2D版でボール蹴ってゴールまで持っていこうと思ったけど体力切れて動けなくなったw 説明JPGは良く理解できなかったぜ… 日記の裏: 前回ユニットリストを表示させようとかなんとか言ってたけど 気がついたらWINDOWシステムを作っていた 何を言ってるか分からないと思うg(ry なんか難しい…最初から固定表示にしとけば良かったんだ。。。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/209
210: SGGK ◆6pZCoAtaxk [sage] 2011/04/13(水) 05:32:57.65 ID:c5UQB0E3 >>209 使ってみてくれてありがとうございます。 体力ゲージについては今度実装するときには修正してみます。 説明JPGについては今見直してみると説明というよりは説明図だけのような作りになってるので また似た事をやるときがあればもう少し改善しようと思います。 関数はDXライブラリのものを使っていると注意書きしておけば良かったと今反省。 ユニットリストがマウスドラッグ出来るようになってるとか? もしかして他者製ライブラリを使わないAPIいろいろ
使うWINDOWSプログラミングで組んでると想像。 >208の「2D座標系でやったのと同じ事が3D座標系でも出来るようにしたい」に向けてちょっと復習。 2Dでやってたプログラムソースは、時間、当たり判定、状態遷移の3つ(まだ他にもあるかもしれない)がソースのあちこちで絡み合いワケがわからなくなってきていたので見やすくしたい。 とりあえず、選手関係のソース見て、どんな位置関係にオブジェクトがあればお互いデータやりとり出来てるとか、関数使わないとアドレス渡せないのかとか、 そういったコピペでやり過ごしてきた部分を見
直してみた。 なんとなくこういうのはノート&手書きの方が頭に入りそうな感じがしたので今回はエクセル使わないでノートに手書きでやってみた。 ほんの少しだけ頭の中が整理されたような気がしたので、まず画面に試合経過時間を表示できるようにしたい。 時間は条件分岐に使うので、時間表示を優先したのが理由。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/210
211: 179 [sage] 2011/04/14(木) 01:35:15.18 ID:euSLNc/U アレダデスヨネ、カメラからマウスの座標にレイ飛ばしてYが0になる場所を求めどうのこうのってヤツ。 それが良く分からなかったらから2Dに逃げた(ぉぃ イエ、ハイ、勉強するのが嫌だっただけですゴメンナサイw メニューバーをマウスドラッグで動かせるように〜ってヤツですね WIN APIにその変の便利なのあるかもしれないけどWIN API良く分からないので 自前でメニューバーのボックス(唯のポリゴンの板です)とマウスポインタと当たり判定して マウスクリック中なら移動させるってのをやろうと思っ
た。 一応移動させるのはできたのは出来たけど、 バーどうしが重なったりすると両方動いたり下に潜り込んだり…。 位置固定にして、表示と非表示の切り替えだけにすりゃ良かったナァ、と。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/211
212: SGGK ◆6pZCoAtaxk [sage] 2011/04/14(木) 23:22:03.79 ID:XhLhjLQN WINDOWは難しそうなテーマですね。 画面内のWINDOW全てが奥側から数えて何番目にあるかを記憶してその順番に描画してみるとか。 マウスでクリックしたら奥から一番最後の番号が付けられるとか。 でも複数のWINDOWが重なったらどうすればよいのかわからなくなってくる…。 今日は作業時間ほんのわずか。 2Dの最後のプログラムSGGK019(020はソース見づらいので使わない)のdrawGameMain()関数から抜き出した時間関係の行を使って、 GameTimeクラスを宣言してみた。このクラスの
ヘッダファイル作成作業がまだまだ途中。 それと>>207でUPした理由の補足 完成度に対する誤解を最小限にしておきたかった他に 自分が何らかの理由により作成続行不可能になった時、たとえわずかでもここで得たものを残しておこうかな〜と思ったこと。 作業を続けてソースが複雑化し、結局やり直すことになった場合、このSGGK024の段階が丁度良いので区切りとして残しておきたかったこと。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/212
213: SGGK ◆6pZCoAtaxk [sage] 2011/04/14(木) 23:30:34.53 ID:XhLhjLQN 最後から2行目は自分のプログラムの進捗的なものがわずかという意味であり、 ここで得たものがわずかという意味では無いので念の為。 ここではいろいろ多く学ばせてもらってますので…(汗; 読み直してあせった。言葉って難しい。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/213
214: SGGK ◆6pZCoAtaxk [sage] 2011/04/15(金) 23:10:40.56 ID:2Uog82ch >>210の試合経過時間は未だ実装出来ず。 結構難しいかもしれない。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/214
215: 179 [sage] 2011/04/16(土) 03:34:02.42 ID:WryT+KpS IF文とboolフラグのオンパレードになってきた…orz とりあえずの×ボタンは簡単に実装できたけど、 消したのを表示するのは作ってない罠 経過時間は1フレーム毎の時間を求めてカウンタに足していくか引いてくか するのがいいんじゃないカナー gettimeとかの関数で取り出したのをそのまま使うと ポーズとかややこしい事になりそうw static int frame_time , time_know, time_back = GetNowCount(); //初期化 if(time_back != know_time;)time_back = time_know; time_know = GetNowCoun
t(); frame_time = time_back - time_know; この3行を毎回回しとけばframe_time が求められるので、後は試合時間にframe_time を足してくだけ。 試合停止中は足さなければ良い。 リセットするときは試合時間を0にすれば良い…と。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/215
216: 179 [sage] 2011/04/16(土) 03:42:37.35 ID:WryT+KpS あ、初期化ミス…↓こうでしたorz //初期化 static int frame_time = 0 static inttime_know = GetNowCount() - 1; static inttime_back = GetNowCount() - 1; //1フレームの時間を求める処理 if(time_back != know_time;)time_back = time_know; time_know = GetNowCount(); frame_time = time_back - time_know; http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/216
217: 名前は開発中のものです。 [sage] 2011/04/16(土) 15:03:11.50 ID:aTo50Zu7 サッカーゲームのような、フレームごとの計算を繰り返していくタイプのプログラムの場合、 経過時間の管理は、実際の(現実世界の)経過時間ではなく、 処理したフレーム数で管理するほうが、合理的な結果が得られると思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/217
218: SGGK ◆6pZCoAtaxk [sage] 2011/04/17(日) 00:44:52.38 ID:mWz5D8BJ >>215,216 ありがとうございます。 自分はいままでbackとknowに相当するコードをなぜかソース内の別々の場所に書いてあり、ソースが読みにくくなっていたけど、 これを見て3行続けて書ける事が分かりましたので、早速修正してみます。 今回はメインループ内に書かれるソースコードを減らしてみたくてこの3行に相当する機能をクラス化することに挑戦。 結果、クラス内の行数はかなり増えてしまうけどreleaseモードでは成功。 debugモードでは時間表示が正しくなく、
プログラムを終了させると「ヒープが壊れていることが原因として考えられます。」のようなエラーメッセージ。 いちおう半分はうまくいってるので、ゆっくり考えるつもり。 >>217 アドバイスありがとうございます。現時点のプログラムソースでは、 1フレーム計算毎に1ずつ増えていく変数を用意し、これを使って選手のアニメパターンを決定したりしてますが、 上記のdebugモードでの不具合が取れなかった場合、フレームタイムxループ回数を時間に単位変更して画面表示するようなやり方も検討してみます。 http://mevius.5ch.net/test/read.cg
i/gamedev/1272901469/218
219: SGGK ◆6pZCoAtaxk [sage] 2011/04/17(日) 01:48:23.54 ID:mWz5D8BJ そういえば以前にもdebugモードでダメでreleaseモードではOKというのは、 releaseモードではチェックがされていないだけなので、バグが無いという意味ではないとこのスレで教わったのを思い出す。 まだ、この前UPしたバージョンにちょっと書き足しただけなんだから、 どこかに内容的な間違いがあるはずと思い良く見てみると1か所あったので直してコンパイルしてみたら直った! これがなんでヒープ壊れる事につながっていたのかは結局わからずだけど、 とりあえずすっき
り。(寝) http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/219
220: SGGK ◆6pZCoAtaxk [sage] 2011/04/17(日) 23:21:42.93 ID:VrjRr7OP 昨日は起きていたのがいつもより遅かったので書けなかったけど、 昨日の間違いというのは、メインループ内のゲーム処理関数の最初の行に書いた2行の順序が逆だったこと。 (間違い) m_Time.countGameTime(); if(m_Time.m_GameTimeState==CONTINUE){m_Time.displayGameTime();} (正解) if(m_Time.m_GameTimeState==CONTINUE){m_Time.displayGameTime();} m_Time.countGameTime(); 時間の測定はループ1回毎に時間を測定して、前回のループでの測定値との差を毎回足してい
くんだけど、 1回目のループでは前回のループの測定値がまだ存在しないので、差を計算しては困るので、 時間クラスに2つの状態STARTとCONTINUEという定数を定義しておいて、 初期値はSTARTにしておき、STARTの場合には差を計算しない。CONTINUEなら差を計算する。 1回目のループではSTARTなので時間の測定だけして、差は計算しない。そして状態をCONTINUEに変更する。 そしたら2回目のループ以降は差を計算してくれる。 間違いの例だと1行目で状態がCONTINUEに変更されてるので、まだ差を計算してないのに時間を画面に表示しようとしてしまう。
正解例の順にするとバグが出なくなった。 実は>>216で初期化値がGetNowCount() - 1となっている理由がわからなくて全部0にしてしまったので、 そこに何か関係があるのかと思ったりもしたけど、上記の方法でバグが出なくなったのでたぶん大丈夫。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/220
221: 179 [sage] 2011/04/18(月) 02:43:15.47 ID:OTLjhXG7 最初の初期化で GetNowCount() - 1 を入れてるのは 最初のループ部分でバグった値を入れないようにするためですw なのでGetNowCount() を取っちゃうと当然バグります -1 は入れなくてもいいのですが最初のループに最速で到達しても1msを返すように設定してあるだけです 初期値に0を入れてしまうと if(time_back != know_time;)time_back = time_know; //一回目は0 と 0 の比較になるので変化無し time_know = GetNowCount(); //know が xxxxxxxxxxくらい
?の数値になる frame_time = time_back - time_know; //一回目はbackは0のままなので -xxxxxxxxxx桁くらいの数値が引かれてフレームタイムが-値でバグる プログラム開始から終了までずっと測ってる前提で作ったので(タイトル画面等でも測定だけしてる) ある部分だけ測るという場合はフラグ管理する、初期化を呼び出す等必要ですねぇ ここまで書いてあれなんですが>>217さんの言う通り 経過時間 += 17ms 等で固定した方がいいかも知れないで まぁFPSが固定されてるなら問題は出ないので余り気にする事も無いカモ…。 http://
mevius.5ch.net/test/read.cgi/gamedev/1272901469/221
222: 179 [sage] 2011/04/18(月) 02:55:13.67 ID:OTLjhXG7 あれ? 式間違ってるじゃん・・・/(^o^)\ ゴメンナサイ3行目 backとknow逆デシタ f(time_back != know_time;)time_back = time_know; //一回目は0 と 0 の比較になるので変化無し time_know = GetNowCount(); //know が xxxxxxxxxxくらい?の数値になる frame_time = time_know - time_back; //一回目はbackは0のままなので xxxxxxxxxx - 0 でxxxxxxxxxくらいの値がフレームタイムに入る ついでにちら裏: WINDOWぽいのはなんとか形になった
気がする ので次の作業へー フィールドの資源地とか基地ぽいの作るカナー http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/222
223: SGGK ◆6pZCoAtaxk [sage] 2011/04/18(月) 23:13:36.71 ID:kLP7Gc7/ >>221,222 ループが最速で到達した場合というのは想定してなかったので勉強になりました。 ありがとうございました。 今日は次の目標を考えて終了。 次の目標は、前半、ハーフタイム、後半、試合結果表示の4つの状態遷移実装。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/223
224: SGGK ◆6pZCoAtaxk [sage] 2011/04/19(火) 22:59:14.08 ID:Y5+hNJcp 状態遷移は以下のような感じで実装。SGGK_019のソースの頃に比べれば短くなった感じ。 でも、これに選手の前半後半の攻撃方向入れ替えや得点表示などを組み込むとなると混乱しそうな予感。 switch (m_MatchState) { case FIRST_HALF: if(m_Time.m_TotalGameTime >= FIRST_HALF_GAME_TIME){ m_MatchState=HALF_TIME; m_Time.resetGameTime(); } break; case HALF_TIME: if(m_Time.m_TotalGameTime >= HALF_GAME_TIME){ m_MatchState=SECOND_HALF; m_Time.resetGameTime
(); } break; case SECOND_HALF: if(m_Time.m_TotalGameTime >= SECOND_HALF_GAME_TIME){ m_MatchState=RESULT_DISPLAY; m_Time.resetGameTime(); } break; case RESULT_DISPLAY: if(m_Time.m_TotalGameTime >= RESULT_DISPLAY_TIME){ setGameState(GAME_OVER); m_Time.resetGameTime(); } break; default: break; } http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/224
225: SGGK ◆6pZCoAtaxk [sage] 2011/04/20(水) 22:43:09.69 ID:rAZcxTJj でも、もっと良いやり方があるはずなので、 「ゲームプログラム 状態遷移」でネット検索。 以前も挫折したけど、また少しだけ調べてみるつもり。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/225
226: 179@SLG? [sage] 2011/04/23(土) 00:02:41.30 ID:EVcHPUn1 うーん、基地というか資源地ぽいクラスを作ったけど 中身がユニットと変わらない罠・・・ 後、マウスの座標をWINDOWSのアイコンの位置から取るようにしたら なんかバグって座標がずれてたりしたけどなんとか直した。 手間食ったけど、やっとALT+TAB押さないと違うWINDOW行けない仕様から 普通にマウスでいけるようになった(ノ∀`) http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/226
227: SGGK ◆6pZCoAtaxk [sage] 2011/04/24(日) 00:01:37.30 ID:rFlUji0A こちらの進捗は調べたり休んだりを繰り返しながら実質何も進まずな状態が続きそうな予感…(汗 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/227
228: SGGK ◆6pZCoAtaxk [sage] 2011/04/25(月) 00:12:59.17 ID:oJBn91bE >>224でも短くなった方だけど、ゲームのメイン処理の先頭にこれを書くのは まだ長いような感じがした。それと、ゲームの時間帯の状態を表す定数と時間のリセットの処理を一緒に書くのも 後々わかりにくくなるような気がした。今はたまたま、この定数の切り替わりが起きる条件と時間のリセットが起きる条件が一緒だから このように書けているだけなので、将来の想定外の変更を考えて分ける事を考えた。 ゲーム時間帯の状態を表す定数を決める関数を>>224の改造で
作成。 >>224から時間のリセットの行を削除しただけのもの。 calMatchState()という名前にでもしておく。 そして時間のリセットを行う関数をそのあとに書けばいい。 但し、calMatchState()で先にゲーム時間帯の状態を変更されてしまうので、 状態の切り替わりが検知できるように状態を表す変数をもう一つ用意して現時点のゲーム時間帯の状態を表す定数値を保持しておく。 そうしておけば、直前の関数でゲーム時間帯の状態を表す定数値が変わったら、その値と保持していた値が異なるので、 その時に時間をリセットして、現時点のゲーム時間帯の状
態を表す定数値は更新する。 いちおうこれでプログラムは同じように動いてくれた。 時間リセットを判定する関数は以下の様な感じ。 void SoccerGame::calTimeResetState() { if(m_MatchState!=m_MatchState1){ m_Time.resetGameTime(); m_MatchState1=m_MatchState; } } http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/228
229: SGGK ◆6pZCoAtaxk [sage] 2011/04/29(金) 23:24:14.14 ID:r0lSNY0W 今、自分に負け気味な感じなのでしばらくダメかもしれない予感…。 いろいろ考えがあり、次は当たり判定をクラスで実装しようとしたけれど、 本当にクラスにした方がいいのか迷う。 当たり判定の関数を持つクラスのオブジェクトを選手やボールのオブジェクトに メンバとして持たせるつもりだけど、時間が掛かりそうな予感。(理由は1行目) http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/229
230: 179 ◆SLG//siTD6 [sage] 2011/05/01(日) 01:09:31.11 ID:wJ8tL1/e トリップてすと。 プログラムの方はサボり気味で余りすすんでないけど とりあえずユニットから弾撃てるようにしてみた。 実験的に実装したんで中身がスカスカだけどw >>229 当たり判定はどうするか迷うねぇ こっちも当たり判定はかなりややこしい事になってる・・・w http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/230
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 257 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.023s