[過去ログ] ゲームプログラミング相談室 (986レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
511(10): 02/07/24 12:32 ID:??? AAS
VBで敵を誘導させて全滅させればクリア、というゲームを作っています。
敵の番になったら、自分のいるマスにむかって1歩(1マス)近づく、
という感じにしたいのですが、ちょっとなやんでいます。
敵のキャラと自分のキャラの座標を比較して、
敵のx座標が自分のx座標より大きければ1マス分増やす、
y座標が自分のy座標より小さければ1マス分減らす、というかんじです。
ifやSelect Case の入れ子でやってみたんですが、
省4
512: 511 02/07/24 12:49 ID:Ml.IF7uc(1/4) AAS
あげてみたり。。。。
513: 02/07/24 12:54 ID:??? AAS
>>511
どうして長くなったのかわかんないけど、行がなが〜くなったらそれぞれの処理を分割するしかないのでは?
ifの条件文が長い場合はあらかじめ比較するモノを変数に入れておくとか。
if〜endifはつかってるよね?
手法としては、移動する処理自体を1つの関数にしておいて後から高速化するのが望ましいかも。
とりあえず遅くてもゲーム自体はできるから。
514: 02/07/24 12:56 ID:??? AAS
>>511
>敵のx座標が自分のx座標より大きければ1マス分増やす、
>y座標が自分のy座標より小さければ1マス分減らす、というかんじです。
敵のx座標が自分のx座標より小さい場合や
y座標が自分のy座標より大きい場合は考えなくていいのか
俺ならとりあえず移動処理をブラックボックスにしてほっとく
あとからいくらでも高速化できる(かもしれない)からな。
515: 02/07/24 13:08 ID:??? AAS
>>511
このスレどうよ
2chスレ:gamedev
516(2): 511 02/07/24 13:22 ID:Ml.IF7uc(2/4) AAS
レスありがとうございます。
>ifの条件文が長い場合はあらかじめ比較するモノを変数に入れておくとか。
んと、とりあえずこんな感じにしてみたんです。
select case Npc.x(敵のx座標)
case is > Player.x(自分のx座標)
if Npc.Y < player.Y then
Npc.X = Npc.X - 32(32はひとますぶんです)
省16
517: 511 02/07/24 14:00 ID:Ml.IF7uc(3/4) AAS
ここに書かせてもらってレスを拝見したおかげで、
ぱにくってた頭が少しすっきりしたみたいです。
移動処理のとこの致命的なミスを発見し、うまくなおせました!
(行の長さは相変わらずながくなっちゃいましたが)
今は敵が死んだときの処理をがんばってます。
519: 511 02/07/24 19:40 ID:Ml.IF7uc(4/4) AAS
レスありがとうございます、書きこみ遅くなってすみません。
>>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
省7
521(1): 511 02/07/25 02:23 ID:VlAcWhO2(1) AAS
レスありがとうございます。
>>520
>absとsgn関数をうまく使え
今 abs関数とsgn 関数調べてきました!
絶対値、、、中学のときに習ったような、、自分の不勉強さに身がちぢこまります。
理解できてないままソースにコピペではあまりにも恥ずかしいので
いまから紙にかいて考えてみます。
省3
524(1): 511 02/07/25 21:22 ID:??? AAS
レスありがとうございます。激しく反省中の511です。
>>522
>お前は効率的な書き方をマスターしたいのかゲームを完成させたいのかどちらだ?
ゲーム完成させたいです!
>慣れないうちはきっちり動くものを作り上げてから速度&効率のチューニングをやれYO!
そうですね、まだ直さなきゃ行けないとこがいぱーいあるのに
綺麗なソースをかきたいなんて100年早かったです。。反省。。。
省4
528(1): 02/07/28 03:47 ID:??? AAS
>>511氏
検証もせずに、他人のコード採用してたら、それこそあぼーんだよ。
解決案が必要なのに、エゴに凝り固まって、他人のソース見ることも出来ないのは、もっと重傷だけどね。
まあ、ゲームに関して言えば、コーディング技術云々より、ゲーム全体としてのデザインの方が重要だから、
そんな小さなことにこだわるな、というのが正解かもね。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.024s