1人でゲームが作れるように修行します。2 (487レス)
1人でゲームが作れるように修行します。2 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
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
231: SGGK ◆6pZCoAtaxk [sage] 2011/05/02(月) 00:20:50.39 ID:iqr3WKp3 >>230 トリップの文字にSLGが入ってる! 当たり判定のクラスは、当たり判定の範囲を示す四角の情報をメンバ変数に持ち、 そのメンバ変数を取り込んで番号を付けるメンバ関数、 当たり判定をしたいオブジェクトの四角情報を取り込み、その情報を基に判定する関数があればいいかなと考えてるけど、 まだ考えてるだけで実装が進んでない状況。ヘッダファイルだけは書いてみたけど、あまり自信無し。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/231
232: SGGK ◆6pZCoAtaxk [sage] 2011/05/08(日) 00:12:20.39 ID:K9cPT3KQ 試行錯誤した挙句自分には>>231を実装するのは無理と判断…。 これをやりたかった理由は、選手のアニメパターンがジャンプしたりキックしたり変化した時にそれぞれに応じた 当たり判定を呼び出せるようなしくみがこの先必要なんじゃないかと思ったからだけど、とりあえず断念。 その他 今日は、ボールをメタセコイアモデルにしていたのをあえて以前の2Dに戻した。 当たり判定は、選手の足元xz平面上に32x32の矩形があるとし、 ボールも同様に8x8の矩形があるとし、これで書いてみる予定。 選手とボールが接触してなくても当たってしまうけど無視! ジャンプしたら判定できなくなるけど、とりあえず最低限の実装を優先。 内容がかなり後退した感じ。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/232
311: SGGK ◆6pZCoAtaxk [sage] 2011/09/12(月) 22:48:41.39 ID:I4CSS3jX 直観的に勢いでなんとか運よく直せた感じ。 1.ボールが一度しか蹴れない。 ボールと選手が当たってPRE_KEEP→KEEPの間は、その選手とボールのあたり判定をキャンセルするフラグを立てていたが、 ボールを蹴った後、そのフラグを戻していなかったので、当たり判定が無効になり、ボールに触れても 状態を変更する命令を実行しなかったから。 2.蹴ったボールを拾いにいってもボールが付いてこなくなった。 1.の理由と同じ。 3.ボールがラインをはみ出したら試合経過時間が停止し、ボールをフィールドに投げ込むまでの経過時間表示はされるが、ボールが復帰位置に表示されない。 ラインのはみ出し判定処理の内部でボールの復帰位置をセットしていたが、 セットするだけではその位置に表示されるわけではない。 enum MOVE_STATE{STOP=1,FREE,PRE_KEEP,KEEP};という4つの状態をボールに設定していたけど、 これらは同時には存在しない状態なのでswitch〜case文にしておいて、 それぞれのcaseの最後でその時点のボール位置を確定して、switch文を抜けてから 描画関数にボール位置を渡していた。ちなみに変数はstaticにしたらswitchを抜けても保持されているみたいな感じ。(自信なし) ところが何故かcase STOPのところだけ、位置を確定する命令を書き忘れていたので、 case FREEの時の確定位置が変数に残っていて、こちらの位置で表示されてしまったのが理由。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/311
343: SGGK ◆6pZCoAtaxk [sage] 2012/02/13(月) 23:48:23.39 ID:Z7ePs7lw ボールクラスの宣言内にボールを蹴ったときの処理をするメンバ関数の名前だけ書き、 その定義をcppファイルに書いた。でも、中身はまだ空の状態。 >>342の「現在マウス左クリックでボールを蹴りだせるようにしている箇所を関数」にしようとすると、 ボールを蹴る関数が、マウスと選手の位置情報を持つ必要があり、ボールを蹴る関数が複雑になるので、 現在マウス左クリックでボールを蹴りだせるようにしている箇所でボールを蹴ろうとする方向とその大きさを計算して、 それをボールを蹴る関数に引数として渡すようにしようと思ったところで終了。 いろいろあってなかなか進まない…orz http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/343
351: SGGK ◆6pZCoAtaxk [sage] 2012/05/07(月) 22:11:35.39 ID:Q0zXyG9A そこで考えたのは、 1.ボールの移動目標、 2.選手の移動目標 という2つの変数を用意し、これを状態を表す変数だと考える。 ボールや選手の移動関数はこの2つの中身を見て移動先を知るようにプログラムをもっとわかりやすく書けるのではと思った。 そのための次の作業は、ボールの移動目標、選手の移動目標の状態遷移図を書くこと。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/351
362: SGGK ◆6pZCoAtaxk [sage] 2012/06/21(木) 23:49:12.39 ID:ArXkgTjY デザインパターン使わないと言ったけど、ちょっとだけ試してみたかった。 本に書いてたステートパターンの中で最初の1番簡単な例を使ってスタート画面を出せた。 でも実はバグの行を//付けて注釈行化して強引に表示させただけなのでまだなんとも言えない。 残りのゲームプレイとゲーム終了画面表示の遷移が出来なければswitch文使った方法に戻る。 あまり時間が無いのでゆっくり作業…。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/362
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.021s