[過去ログ]
ゲームプログラミング相談室 (986レス)
ゲームプログラミング相談室 http://game.5ch.net/test/read.cgi/gamedev/1005040025/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
512: 511 [] 02/07/24 12:49 ID:Ml.IF7uc あげてみたり。。。。 http://game.5ch.net/test/read.cgi/gamedev/1005040025/512
516: 511 [] 02/07/24 13:22 ID:Ml.IF7uc レスありがとうございます。 >ifの条件文が長い場合はあらかじめ比較するモノを変数に入れておくとか。 んと、とりあえずこんな感じにしてみたんです。 select case Npc.x(敵のx座標) case is > Player.x(自分のx座標) if Npc.Y < player.Y then Npc.X = Npc.X - 32(32はひとますぶんです) Npc.Y = Npc.Y + 32 endif ...こんなかんじで、敵のいる位置のパターンが8こ(斜め4個に上下左右) もあるんで、どんどん入れ子じょうたいになってしまって。。。 >移動する処理自体を1つの関数にしておいて後から高速化するのが望ましいかも。 ふむふむ。上記の移動の処理をMoveNpc というPublic Subにしているんですが、 そのなかに自作の関数をいれるということでしょうか? >敵のx座標が自分のx座標より小さい場合や y座標が自分のy座標より大きい場合は考えなくていいのか そうなんです!パターンのぶんだけif −endif 文がふえてしまって ながくなっちゃってるんですよね。これをもっとどうにかして みじかくならないかなあと。。。 >俺ならとりあえず移動処理をブラックボックスにしてほっとく ふむふむ、さきにほかのところを完成させちゃえー、ということですね。 たしかに、、、ほかにも考えなきゃいけないとこがいっぱいあるんで そっちもがんばりたいとおもいます。 http://game.5ch.net/test/read.cgi/gamedev/1005040025/516
517: 511 [] 02/07/24 14:00 ID:Ml.IF7uc ここに書かせてもらってレスを拝見したおかげで、 ぱにくってた頭が少しすっきりしたみたいです。 移動処理のとこの致命的なミスを発見し、うまくなおせました! (行の長さは相変わらずながくなっちゃいましたが) 今は敵が死んだときの処理をがんばってます。 http://game.5ch.net/test/read.cgi/gamedev/1005040025/517
519: 511 [] 02/07/24 19:40 ID:Ml.IF7uc レスありがとうございます、書きこみ遅くなってすみません。 >>518 >今の状態では右へ1キャラ分移動するのに32を加えていると思うけど、 >これはそういう風にするんじゃなくて、将棋の「マス」みたいに管理すべき。 >そしてグラフィックを表示するときにx座標とy座標を32倍すればいい。 おお!ということは、移動処理のほうでNpc.X = Npc.X+1にして、線画処理で BitBlt FrmMain.PicMain.hDC, Npc.X * 32, Npc.Y * 32, 32, 32, FrmMain.PicChara.hDC, 0, 32, vbSrcPaint てなかんじでいいのでしょうか? この方がのちのち管理もしやすそうですね。 今までは1個1個のマス目の番号を割り出すときに intBlockNo = (8 * (Chara.Y / 32)) + (Chara.X / 32) ってやってたんですが、この方法ならいちいち32で割らずにすむので かなりすっきりできますね!!! これからさっそくかきなおします。 http://game.5ch.net/test/read.cgi/gamedev/1005040025/519
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.029s