1人でゲームが作れるように修行します。2 (487レス)
1人でゲームが作れるように修行します。2 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
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
313: SGGK ◆6pZCoAtaxk [sage] 2011/09/12(月) 23:12:56.43 ID:I4CSS3jX >>310,312 アドバイス、ありがとうございます。 書き込む前にリロードし忘れてしまい、すれ違ってしまいました。(汗; 自分のソースも似た感じの処理になってるようなのですが、 何故か原因不明でどんどん複雑化しているようです。 例えば、切り替えた状態が、知らない間に別のところで切り替えられてしまう…というような感じ。 ここから崩して作り直すのは厳しいので逆にこのまま>>252の 6.CPU選手をまずは1人登場させ、動くようにする。 7.ポジション別にCPU選手のAIを調整する。 8.タイム、スコア、勝敗、タイトル画面などの装飾要素を実装する。 を目指してソースをupできるようにして、そこからソースの見直しをしてみたいと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/313
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.026s