Windowsゲームプログラミング 質問スレ
■ このスレッドは過去ログ倉庫に格納されています
0001うゆ ◆vvvK3Fcqdg
2008/11/06(木) 21:28:45ID:lNn2skuQ【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する香具師 】
・ どんな事で躓いているのか明確にしる。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書け。
0712名前は開発中のものです。
2011/04/07(木) 19:11:17.72ID:WA2sOoJW0713名前は開発中のものです。
2011/04/07(木) 19:59:23.79ID:i/kzJacPプログラミングについての質問です。
環境は同じなのに、たまに左上現象が起こるゲームがあるので、気になりました。
0714名前は開発中のものです。
2011/04/07(木) 22:18:20.53ID:hqT2HpYbではなくて
「そういうフリーゲームが時々あるけど、これはプログラム的に何か問題があるんだろうか?」
って質問なのかな。
いや俺はそういうフリゲの作者じゃないから答えられんけど。
0715名前は開発中のものです。
2011/04/14(木) 16:24:33.76ID:tNm2yu1MC言語はライブラリを使わなければだいたいわかります
0716名前は開発中のものです。
2011/04/14(木) 18:45:12.64ID:MAAZSs/A同じ軸でも軸の取る数値の範囲が変わったりするからかな?
0717名前は開発中のものです。
2011/04/14(木) 19:47:26.48ID:CnLBOOeNコントローラ全部が入力無い時に軸の位置に「0」を返すとは限らないからある程度猶予を与えればいい
ハズ。あまり詳しくはない
0718名前は開発中のものです。
2011/04/25(月) 17:45:50.18ID:KE1E9nBpゲームに使われるバイナリの値で
0xFFFFD8E7や0xFFFFD8EBといった値は何を表す値であると予測出来ますか?
0719名前は開発中のものです。
2011/04/26(火) 01:49:00.44ID:h6WQRFtT・固定小数点の座標値(整数部24bit小数部8bitで-39.09765625)
・32bitデプスバッファの任意地点の深度値
・生成される全オブジェクトにデクリメントで振っているシリアル番号
0720名前は開発中のものです。
2011/04/26(火) 02:46:18.54ID:/x7Dm5hDありがとうございました
0721名前は開発中のものです。
2011/05/06(金) 14:16:14.28ID:gs4TXQIxclass example
{
static void main()
{
Console.WriteLine("unkounko");
}
}
技術書を見ながら↑を書いたんですが
エラー 〜\Project1.exe' は、エントリ ポイントに適切な静的 'Main' メソッドを含んでいませんProject1
ってエラーがでてデバッグできません
ナニがいけないんでしょう?
0722名前は開発中のものです。
2011/05/06(金) 20:56:47.66ID:ibiTWqKE0723名前は開発中のものです。
2011/05/06(金) 22:52:11.74ID:r/gVAn5nMainでなく、mainでいいの?
0724名前は開発中のものです。
2011/05/07(土) 19:13:02.95ID:8XRSvEQTノートパソコンでも大丈夫なんでしょうか?
0725名前は開発中のものです。
2011/05/07(土) 19:22:17.45ID:Q8cgsrDCノートだろうとデスクトップだろうと、ツールが要求する動作環境のスペックさえ満たしていれば作れるよ。
0726名前は開発中のものです。
2011/05/09(月) 15:08:27.91ID:r3X4NYF6SAIが無料かと思ってたらシェアウェアでした
0727名前は開発中のものです。
2011/05/09(月) 17:37:52.12ID:F60nSaWVPaint.NETとかGIMPとか?
0728名前は開発中のものです。
2011/05/09(月) 17:42:16.40ID:F60nSaWVGIMP、Pixia、AzPainterの名前が出てきたがどうか?
0729名前は開発中のものです。
2011/05/09(月) 17:48:38.11ID:r3X4NYF6ありがとうございます
3つとも試してみますね
0730名前は開発中のものです。
2011/05/12(木) 21:13:42.01ID:1+y6mWXW昔書いたDirectXの自作のラッパーライブラリのバージョンアップを
7.0からやってないんですが、たま〜に、DirectX7以前のコードは
VistaやWin7で上手く動作しないという話を聞く事があります。
実際問題として、そこまで動作不良が多いんでしょうか?
出来れば、今のまま暫く、自作ライブラリ使いたいので
無視出来る程度の不具合の事例しかないなら、
バージョンアップしたくないんですけど、みなさんの意見聞かせて下さい。
0731730
2011/05/12(木) 21:18:19.47ID:1+y6mWXW0732名前は開発中のものです。
2011/05/13(金) 19:26:20.67ID:69Ai+1uzDirectxで作ったダンジョンとか画像や音楽をCで読み込ませる、でいいんですよね?
0733名前は開発中のものです。
2011/05/14(土) 12:34:06.17ID:9TrYbWlB0734名前は開発中のものです。
2011/05/14(土) 14:47:18.75ID:0GXIJwN50735名前は開発中のものです。
2011/05/14(土) 16:18:11.67ID:iTcd63B+まずは「はじめてのC」を読んでください。
0736名前は開発中のものです。
2011/06/02(木) 12:54:15.23ID:1tobcTkHあとできる限りCPUやメモリが良い物の方がいいんですか?
0737名前は開発中のものです。
2011/06/02(木) 18:21:37.82ID:oVeJslsBCPU : Core i3 2105
MEM : 8GB
OS : Windows7 64bit版
素人がプログラミングして遊ぶ程度なら、CPU内蔵のHD3000で十分すぎる性能。
シェーダモデル4.1、DirectX 10.1、OpenGL3.0、OpenCL1.1に対応。
あと、DirectX11世代が必要だというのならグラボ買う必要あるけど、Geforceとか
Quadroとか無視して良いから。グラボ載せるならRadeonで万全。HD6850買っとけ。
搭載メモリ8GBは最低量。できれば16GB欲しい。
いろんな作業を並行してやる時の快適さが違う。
0738名前は開発中のものです。
2011/06/06(月) 22:20:02.16ID:SmY3HvdC内容:
質問です。現在RPGを作っているのですがマッピングで困っています。
現在テキストファイルを読み込む→書いてある文字(半角)を数値に変換→配列に格納
っていう風にしているのえすが割り当てる文字が無くなってきてしまいました。
数字だけで割り当てる以外に何か他にいい方法はありませんか?
0739名前は開発中のものです。
2011/06/06(月) 22:23:02.47ID:3A2O81ns0740名前は開発中のものです。
2011/06/06(月) 22:31:43.14ID:EjPv1nsnペイントで修正できるし割とよくある手法
0741名前は開発中のものです。
2011/06/06(月) 22:47:56.44ID:SmY3HvdC>>740 ビットマップで描いてますよ。
よく考えたら全角にすればいいだけのことでしたね。変なこと聞いちゃってごめんなさい。
ありがとうございました。
0742名前は開発中のものです。
2011/06/06(月) 22:56:56.47ID:EjPv1nsnビットマップでマッピングしてるならテキストいらないじゃん
0743名前は開発中のものです。
2011/06/07(火) 00:07:47.06ID:K/eJWqg0ビットマップで書いた画像をそのまま、マップのデータとして扱うって事だよ。
赤ならどの地形、青ならどの地形、って感じで。
65536色なら65536種類のマップチップを区別できる事になる。
ビットマップは内部データが圧縮されてないそのまんまなのでこういう場合に使いやすい。
ファイルフォーマットはぐぐって調べればいいと思うよ。
0744名前は開発中のものです。
2011/06/07(火) 01:19:10.03ID:xHDy2WPL0745名前は開発中のものです。
2011/06/07(火) 22:23:17.06ID:0gZY2NZM0746名前は開発中のものです。
2011/06/20(月) 11:25:41.57ID:IzFJkAaU考え方によっては、インスコ時に、一回JITで
その環境毎に最適化されたコードを吐くような
言語がシロウト目には良いような気がするんですが。
つまり、C#や、Java?みたいな
(先々同じコードでプラットフォーム跨いで実行出来そうだし)。
ゲームプログラムに詳しい皆さんから見て
何かC++以外の言語が決定的にダメなところってあるんですか?
(ガベージコレクションでのもたつきとか?)
0747名前は開発中のものです。
2011/06/20(月) 11:37:34.06ID:pwkfIEnc0748名前は開発中のものです。
2011/06/20(月) 11:41:33.54ID:IzFJkAaUゲームプログラムもですか??
0749名前は開発中のものです。
2011/06/21(火) 16:03:47.19ID:qvZTnZcqゲーム開発の経験が無く、言語選択で迷っています。
ゲーム内容はシンプルに2Dで選択のみで進めるRPG予定です
形になるまでが早く、数ある中で、比較的習得が用意な言語はなんでしょうか?
開発経験: PHP, PythonでのWebアプリ開発
プログラミングから離れていたので、趣味で開発出来るレベルまでスキルアップしたいと考えています
0750名前は開発中のものです。
2011/06/21(火) 16:44:58.04ID:ET4j6FRl0751名前は開発中のものです。
2011/06/21(火) 16:45:20.26ID:3S8vxGBOBook
14歳からはじめるC言語わくわくゲームプログラミング教室
0752名前は開発中のものです。
2011/06/21(火) 17:57:49.46ID:qvZTnZcqありがとうございます。
C#は、CやC++に比べ簡単で…と何度か聞いたことがあります。
ゲーム開発用のフレームワークも用意されているのですね
一度触ってみます
>>751
C言語は、ほぼ切り貼りですが、業務で必要なPostgreSQLの自作関数を作成した事があります。
メモリ管理など、気にかける事が多く難しいと聞きますが、やはり学んでおくべきですか?
確実にスキルアップするとは思いますが、今後開発を続ける上でやはり必要な知識となるでしょうか
0753名前は開発中のものです。
2011/06/21(火) 18:06:00.16ID:3S8vxGBO結局ね、情報が多いものを選ぶ事。やってみ、わかるから
C言語から派生した言語が多い。ひとつを完全マスターすることから広がる。
0754名前は開発中のものです。
2011/06/21(火) 18:28:38.03ID:qvZTnZcq仕事でやってるわけではないですもんね
ありがとうございます、勉強してみます
0755名前は開発中のものです。
2011/06/21(火) 20:32:04.04ID:evQPDRUv>ゲーム内容はシンプルに2Dで選択のみで進めるRPG予定です
こんな感じのやつ?
http://www.programmingmat.jp/soft_lib/m11rpg/
0757名前は開発中のものです。
2011/06/23(木) 11:01:52.46ID:bPgnTXjYメインスレッドが停止しないようにするには
どうしたらいいんでしょうか
通信のアクションゲームを作っているのですが
ホストがこれをするとポーズをかけたようになるので
困っています
0758名前は開発中のものです。
2011/06/23(木) 12:05:17.92ID:ZHOr5XNo0759名前は開発中のものです。
2011/06/25(土) 15:32:52.64ID:av3YTDPAもちろん実際はメッセージ処理もしてます。
結構、Sleep()をかませろという話があるんですが
かなり精度が悪くてフレームレートが指定値にならないんです。
while(1){
stime = timeGetTime();
game_main();
while(timeGetTime() - stime < 1000 / 60);
}
0760名前は開発中のものです。
2011/06/25(土) 15:58:51.76ID:av3YTDPAwhile(1){
stime = timeGetTime();
game_main();
while(timeGetTime() - stime < 1000 / 60){ Sleep(0); }
}
0761名前は開発中のものです。
2011/06/25(土) 17:47:30.73ID:URerxJ8Qhttp://bygzam.seesaa.net/article/110314806.html
>timeBeginPeriodでタイマの精度を1msに設定します。この設定はtimeGetTime以外にも、GetTickCountや
>Sleepの精度にも影響します。終了時にはtimeEndPeriodで元に戻しておきましょう。
http://rina.jpn.ph/~rance/directx8/03/01.html
>ここでSleep()関数を実行している理由は、ウィンドウを最小化したときなどにWindowsが固まったようになる現象を防ぐためである。
俺は1ms以上余るならSleepそれ未満はループで調整してる
0762名前は開発中のものです。
2011/06/25(土) 17:49:23.50ID:URerxJ8Q0763名前は開発中のものです。
2011/06/25(土) 19:01:57.96ID:U+AhBja3なんでSleepを使うのか全く意味が不明。
0764名前は開発中のものです。
2011/06/25(土) 21:30:18.22ID:JoYEMJgktimeBeginPeriodの設定が要るって気付かなくて悩まされたの思い出したわw
0765760
2011/06/25(土) 23:37:47.57ID:av3YTDPAもちろん、timeBeginPeriod()とtimeEndPeriod()は設定してます。
ただループにSleep()を入れると多く待ちすぎてしまったりしてたので困ってました。
でも >>761さんが言うように、余り時間でSleep()するかどうか決定すればよさそうですね。
とりあえずSleep(0)だけは必ず入れるようにしますね。
>>763 それはどういうことでしょうか?
0766名前は開発中のものです。
2011/06/26(日) 00:16:04.63ID:Fm5IE/R10767名前は開発中のものです。
2011/06/26(日) 00:27:46.94ID:C/6aPfwcマルチメディアタイマのイベントというのがよくわかんないんですが
それを使えばSleep()しなくてもCPUに高負荷がかかりませんか?
0768名前は開発中のものです。
2011/06/26(日) 02:36:36.47ID:C/6aPfwcFPSが安定しないので
もうウェイト処理にSleep(0)だけ入れる事にした ヽ(`Д´)ノ
Sleep()の仕様で、引数に与えた値以上、戻ってこない事があるらしいから
それが原因なのかな…
0769名前は開発中のものです。
2011/06/26(日) 08:11:41.37ID:Fm5IE/R1キーワードを入れて検索する程度のことすら出来ない怠け者にはプログラムは向いてないよ。
0770名前は開発中のものです。
2011/06/26(日) 08:26:23.84ID:C/6aPfwc>それを使えばSleep()しなくてもCPUに高負荷がかかりませんか?
すみません、この上記の質問だけ教えてもらえませんか?
Yes/No?
0771名前は開発中のものです。
2011/06/26(日) 09:04:29.33ID:Fm5IE/R1やった上で、疑問に思ったことを聞くならともかく、
すぐに実験できることをやろうともしない人間にこれ以上答えることはない。
0772名前は開発中のものです。
2011/06/26(日) 09:35:10.81ID:C/6aPfwcすんませんす。
timeSetEvent()で指定してコールバックで
処理するという形になるんですね。
なるほど。
ただSleep()も試行錯誤してたら
引数の数値を大きく指定するようにすれば
そこそこの精度で安定するようにはなりました。
0773名前は開発中のものです。
2011/06/26(日) 10:20:15.53ID:h26G+E5Yttp://dixq.net/rp/43.html
ここは既知?
自分の場合、垂直同期切り忘れとか実行中にクラスの生成と解放をしてたとかあったな…
0774名前は開発中のものです。
2011/06/26(日) 10:54:34.44ID:C/6aPfwcご紹介ありがとうございます。
ただSleep()さえかけなければ
実際にはパフォーマンスカウンタを使うので
60fpsの誤差は殆どないんです。
ただCPU使用率が100%近くになったりしてたので
なるべく余った時間、CPU負荷をかけたくなく
Sleep()入れて休ませるつもりでいました。
とりあえずSleep()でも、なるべく大きな値を入れるようにしたら
fpsが安定するようになりました。
いくつかのPCで試しましたが、結構安定してます。
(パフォーマンスカウンタで計測すれば、殆ど60ピッタリです)
while(1){
stime = timeGetTime();
game_main();
if((dif = 1000 / 60 - (timeGetTime() - stime)) > 0){
Sleep(floor(dif));
}
while(timeGetTime() - stime < 1000 / 60){ Sleep(0); }
}
0775名前は開発中のものです。
2011/06/26(日) 10:59:23.35ID:U4EFMTMz今は違うんだっけ。
0776名前は開発中のものです。
2011/06/26(日) 12:33:06.53ID:B5xxb33H厳密に言うとメインスレッドでSleepは使ってはダメ。
Sleep中はメッセージ処理が行えないから、ブロードキャストメッセージを使用している
他のアプリケーションのパフォーマンスに影響あったりする。
FPS調整用の短いSleepならほとんど問題ないけど、余裕があればSleepのかわりに
MsgWaitForMultipleObjectsを使った方がいい。
>>775
昔から、明文化はされてないけどSleepの元になるタイマーはtimeBeginPeriodの
影響を受けて精度が変わる。何も設定してないと10ms精度くらい。
0777名前は開発中のものです。
2011/06/26(日) 12:38:17.18ID:C/6aPfwcMsgWaitForMultipleObjects ですね。
調べてみます。情報ありがとうございます^^
0778名前は開発中のものです。
2011/06/26(日) 13:34:56.21ID:Fm5IE/R1コールバックじゃなくてイベントと書いているんだが。
0779名前は開発中のものです。
2011/06/26(日) 13:55:56.88ID:h26G+E5Yそこまで気にかけるならもう回答教えてあげてもいいんじゃないのw
0780名前は開発中のものです。
2011/06/26(日) 14:04:02.65ID:h26G+E5Y小数点以下の話ならごめん(^_^;)
{
t = timeGetTime();
game_main();
while(timeGetTime() - t < 17)
{ Sleep(0); }
}
0781名前は開発中のものです。
2011/06/26(日) 19:28:33.67ID:EEDTFaxzそれだとCPU使用率が下がらない。
0782名前は開発中のものです。
2011/06/26(日) 20:31:02.39ID:h26G+E5Y0783名前は開発中のものです。
2011/06/26(日) 21:04:13.27ID:C/6aPfwcウィンドウズのイベントがコールバックで呼び出されるという話じゃないの??
0784名前は開発中のものです。
2011/06/26(日) 21:49:54.06ID:Fm5IE/R1ちゃんとヘルプを読め。
使うのはイベントオブジェクトであって、コールバックじゃない。
0785名前は開発中のものです。
2011/06/27(月) 02:04:43.20ID:mjTrT8bwイベントオブジェクトの設定もあるんですね^^;
みなさんありがとうございます。
とりあえず今回は、>>774の方法を中心に調整して行きたいと思います。
FPSの安定とCPU使用率を抑える事が大分両立出来ました。
0786名前は開発中のものです。
2011/06/27(月) 13:05:38.66ID:5jj8qo/eSleep()するとスレッド スイッチするんじゃないの
でもって10msだか何だか戻ってこないでしょ?
だから10ms以下のSleepは保障できないのでは・・・
0787名前は開発中のものです。
2011/06/27(月) 15:37:59.15ID:KSejmRDb0788名前は開発中のものです。
2011/07/27(水) 18:19:20.32ID:rtDjJBOt0789名前は開発中のものです。
2011/07/27(水) 20:08:07.17ID:d+vft6M6という冗談はおいておいて、見てのとおりC/C++かと。
0790名前は開発中のものです。
2011/08/05(金) 02:02:20.66ID:iQzPAYN5必要な時にオープンして用が済んだらクローズするのがファイルを扱う基本だと思うのですが
ゲームデータ全て、または画像毎や音声毎などにまとめたパックファイルを利用する場合、
何度も同じファイルにアクセスすることになると思うのですが、例えばゲーム中ずっとオープンしっ放しで利用しても良いものでしょうか?
それともやはりデータにアクセスする度にオープン→クローズするべきなのでしょうか?
0791名前は開発中のものです。
2011/08/05(金) 04:03:33.45ID:LUnU1i9G読み込みアクセスしかしてないなら、クローズなんて気にする必要ない。
0792名前は開発中のものです。
2011/08/05(金) 21:10:30.95ID:2OzNzc7rhttp://raicho.2ch.net/test/read.cgi/newsplus/1312544716/
0793アジェグ4倍 ◆4xAJeG.COM
2011/08/15(月) 12:14:45.95ID:pL1hbMOkCreateWindowsの後のループは、GetMessageのままのほうがいい。
で、WM_CREATEのイベントのときに、60FPSでループするスレッドを作る。
スレッドのループは、何らかのフラグで抜けるようにして、
WM_DESTROYのイベント時に、そのフラグをセットさせるってとこだな。
キーとマウスのイベントは、フラグのセットなどだけにとどめて
すぐにイベント処理を終わらせること。
あと、Sleepと画面反映の順序を間違えないように。
計算して裏画面に描画して、Sleepで時間を調整してから反映、だぞ。
・・・と、イロイロ書いてみたが、理解してもらえるだろうか・・・
0794アジェグ4倍 ◆4xAJeG.COM
2011/08/15(月) 13:26:29.82ID:pL1hbMOkソースレベルでイロイロ書いてるみたいだから、
おれのやり方も書いてみよう。
DWORD StartTick = timeGetTime() ;
DWORD NowTick ;
DWORD NextTick ;
bool SkipFlg = false ;
for( int LoopCnt = 1 ; ExitFlg == false ; LoopCnt++ ) {
// 計算処理
if( SkipFlg == false ) {
// 描画処理
}
SkipFlg = false ;
NextTick = ( LoopCnt * 1000 ) / 60 ;
NowTick = timeGetTime() - StartTick ;
if( NowTick < NextTick ) {
Sleep( NextTick - NowTick ) ;
// 画面反映処理
}
else {
// フレームスキップが必要
SkipFlg = true ;
}
}
こんな感じかな。
0795名前は開発中のものです。
2011/08/15(月) 13:40:49.56ID:cTd0dgcsそれ6月の話題だし、素晴らしいコードを披露するならともかく
今更unsignedとsignedの区別もついてないようなコード貼られても困る。
0796アジェグ4倍 ◆4xAJeG.COM
2011/08/15(月) 13:53:07.65ID:pL1hbMOkはいはい。
というわけで、くれぐれもマネをしないように。
著作権の問題とか発生しかねないからねぇ。
0797名前は開発中のものです。
2011/08/15(月) 15:59:55.34ID:71G/E+750798名前は開発中のものです。
2011/08/15(月) 16:15:04.32ID:cxMX6aDk0799アジェグ4倍 ◆4xAJeG.COM
2011/08/15(月) 16:38:36.57ID:pL1hbMOk糞コテみたら、まずはググレカすことを覚えろよ。
0800名前は開発中のものです。
2011/08/15(月) 16:40:46.38ID:726htfBM0801アジェグ4倍 ◆4xAJeG.COM
2011/08/15(月) 16:44:14.52ID:pL1hbMOk悪いことは言わん、今のうちにあぼーん登録しておくがよい。
0802名前は開発中のものです。
2011/08/15(月) 20:09:42.78ID:WSvdh9Hqそこで自棄を起こして荒らし行為なんてせずに、おとなしく引き下がる事を望む。
0803アジェグ4倍 ◆4xAJeG.COM
2011/08/16(火) 08:37:55.17ID:t616+10I過疎スレで、おれが来るまで10日も放置してたのに、
おれが来たとたん、タチマチこんなに集まっちゃってさ。
sageりゃいいってもんじゃねーんだぞ。
ほんとはうれしいんだろ?
寂しかったこのスレに、大物コテが現れてくれて。
ちなみにおれは、↓のようなMIDIアプリを開発している糞コテさ。
いまは、イロイロな機能追加を進めててね。
http://www2.ocn.ne.jp/~j3262il6/rds/
このソフト、ソースも公開してるけど、くれぐれもパクったり
参考にしたりしないように。
容赦なく、timeGetTimeとかやっちゃってるからね。
0804名前は開発中のものです。
2011/08/16(火) 21:09:07.25ID:3+35ODV/0805名前は開発中のものです。
2011/08/17(水) 00:02:27.51ID:FbzsBwEqパケット投げるのには手軽で便利だよ。
clock()よりは早く投げられるし。
0806名前は開発中のものです。
2011/08/17(水) 02:21:39.99ID:H/5FPjKZ0807アジェグ4倍 ◆4xAJeG.COM
2011/08/17(水) 09:06:45.15ID:4BdszuWf強いて言えば、このクソコテが使ってるからだろう。
ホカの手段としては、QueryPerformanceCounterてのがあるようだが、
おれが試してみた限りでは、timeGetTimeと挙動に大差はなかったねぇ。
そうなるともう、アルゴリズムの問題だな。
上の方では、Sleep(0)などとも言ってるけど、
待ち時間が1ミリ秒を切るようなら、それはすでに処理オーバーだから、
フレームスキップの処理などを考えないと。
0808名前は開発中のものです。
2011/08/25(木) 21:01:01.31ID:L1verjXw
こんにちは。初めてですがよろしくお願いします。
使用文法はcです。
今回おかしいなと思ったのはキャラクターが動かないというバグです。
使用している構造体は
unit_status[k].unit_member[i].xxx
となっていて、kがグループ(つまり味方か敵かなど)、iはその中での番号です。
kが1の時は敵、0の時は味方というかんじです。
(プレイヤーに割り当てられた構造体はkが0,iが0です。ループ中に遭遇した場合はスキップされます。)
敵はしっかり動きますが、味方がうんともすんとも言いません。どうしたらいいのでしょうか?

void unit_ai_base_main(){
for(int k=0;k<UNIT_STATUS_MAX;k++){//動かすグループ
for(int i=0;i<UNIT_NUMBER_MAX;i++){//そのグループのmemberを動かすためのループ
if(k==0&&i==0)break;//プレイヤーだった場合ブレイク
testtest++;
if(unit_status[k].unit_member[i].life>0){//仲間が死んでたり居なかったりしたときの分岐
// aiの分岐。
}
}
}
}
コードをはっつける良い場所ないですかね・・・
0811名前は開発中のものです。
2011/08/30(火) 17:19:22.22ID:84vu7iX6■ このスレッドは過去ログ倉庫に格納されています