[過去ログ] DXライブラリ 総合スレッド 2008 (1001レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1
(4): 2008/10/25(土)17:37 ID:BCFbbKco(1/2) AAS
Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。

DXライブラリの詳細ついては
外部リンク:homepage2.nifty.com
を参照して頂きたい。

DXライブラリに関するテクニックなどの情報交換などを行う事で、
省3
921: 2009/03/28(土)09:41 ID:ypn63o+I(1) AAS
>>919 - >>920
ワロタ
922
(1): 2009/03/28(土)12:58 ID:V/znOr52(1) AAS
高度な話してるところ悪いんだけど初歩的な質問をさせてくれ。
ここで聞けって言われたもんで。

メニュー画面とゲーム画面を往復する度にメモリ使用量が上がってくんだけど、
読み込んだものはゲーム画面終了直前にInitSoundMemとInitGraphで全て削除するようにしても
上昇量よりはるかに小さい分しか変わらないし、
じゃあ今度は画像の読み込みを全部削除してみたら(画面は真っ暗になるけど)きれいさっぱり解決したから
やっぱ画像関係に原因があるのはわかったんだけど、
省4
923
(1): 2009/03/28(土)13:40 ID:miSl0Len(1/3) AAS
>>879
代入なら精度は落ちないけど、計算すると精度は落ちるよ。
double同士の四則演算をすると DxLib_Init前と後で、精度が違うから
同じ計算をしても結果が異なることがある。
924
(1): 2009/03/28(土)13:50 ID:8c8Vy+u+(2/11) AAS
>>923
何度読んでも俺には何言ってるのか分からん。
精度が違うって何言ってる・・・。
925
(2): 2009/03/28(土)14:00 ID:miSl0Len(2/3) AAS
>>924
わかりにくくてすまん。
例を書いてみた。

double a = 0;

int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
double v1 = 3.1415926535897931 + a;
省6
926
(1): 2009/03/28(土)14:04 ID:miSl0Len(3/3) AAS
>>925
あ、return falseはまずかった。
return 0の間違いってことで。
927: 2009/03/28(土)14:08 ID:8c8Vy+u+(3/11) AAS
あ。わざわざ例挙げてもらってすまん。良いたい事は分かった。
DXライブラリでDirect3D使う場合だとFpuPreserveしてるからdouble型の演算レジスタ弄ってるわけね。
俺3D機能使わずにDirectDrawの方で書いてるから気づかなかったわ。
928: 2009/03/28(土)14:48 ID:8c8Vy+u+(4/11) AAS
>>925,926
Direct3DのFPU関連の対処法についてDXライブラリのソース調べてみたら、
// FPUの精度を落とさない設定を使用するかどうかを設定する、DxLib_Init を呼び出す前のみ有効( TRUE:使用する(精度が落ちない) FALSE:使用しない(精度を落とす(デフォルト) )SetUseFPUPreserveFlag( int Flag );
を見つけたよ。
double型を使う場合はTRUEにしても良いかもね。(精度は上がるが速度が落ちるので好みに)

でも、俺はfloat派だから関係ないが〜。
929: 2009/03/28(土)15:03 ID:alJS1U5l(1) AAS
パンツってみんな脱いでるの?あとカップルいるけど警察に捕まったりしないの?
930
(1): 2009/03/28(土)16:05 ID:8c8Vy+u+(5/11) AAS
>>922
メモリ使用量の上昇具合ってどんな感じ?
コードを晒してくれると原因が分かりやすいんだがな。

画面遷移時に使われなくなったハンドルについて
・イメージハンドルはDeleteGraphで個別に全て解放をしているか?
・フォントの再生成をしていないか?
を見直してみてくれ。
省2
931
(1): 2009/03/28(土)16:48 ID:ShTXh3pj(1/9) AAS
>>930

・メモリの上昇具合
メ=メニュー画面、ゲ=ゲーム画面
メ59M
ゲ108M
メ107M
ゲ112M
省8
932
(1): 2009/03/28(土)17:33 ID:feWgJMZK(1/2) AAS
切り取らずに、画像を読み込み終えたところでInit〜してみたらどうなるかな。
933
(1): 2009/03/28(土)17:40 ID:8c8Vy+u+(6/11) AAS
>>931
>ていうかさっき言ったとおり画像を読み込むところだけ切り取ったら全部解決したので画像関係のアレだと思うんだが……
ちょっとこの文章の意味がわからんな。
画像を読み込むのを切り取っちゃったら画像が読み取れないんじゃないか?
それとも、状態変移での2度目に読み込みを飛ばすってこと?
でもその前にInitGraphしてるのなら、グラフィックハンドルは解放されて無効になってるはずだよ。(描画できないはず)

えっととりあえず言うと、画面遷移時にInitGraphで全部消しちゃうのはオススメできない。
省5
934: 2009/03/28(土)18:38 ID:feWgJMZK(2/2) AAS
>じゃあ今度は画像の読み込みを全部削除してみたら(画面は真っ暗になるけど)きれいさっぱり解決したから
>やっぱ画像関係に原因があるのはわかったんだけど、

って事でしょう。

>えっととりあえず言うと、画面遷移時にInitGraphで全部消しちゃうのはオススメできない。

これ、気になるので、よければその理由を教えて欲しい。
935
(1): 2009/03/28(土)19:05 ID:ShTXh3pj(2/9) AAS
>>932 読み込んだ直後にInit〜やったけどダメだった。なので

>>933 Deleteでそれぞれやってみたけどやっぱダメだった……
あと、WaitTimerとかでところどころ止めながその隙にタスクマネージャで見る方法でもいいよね?
上昇のタイミングはもちろん画像読み込みの時で、問題なのはデリートの時に少ししか下がらないで、
あと各画像がそのゲーム画面で初めて表示されるときも微量ずつ謎の上昇……

ていうか普通はデリートすればあっさり上がるんだな……なんでデリートがちょっとしか効かないんだ。
936
(1): 2009/03/28(土)19:43 ID:8c8Vy+u+(7/11) AAS
>>944
リソースの管理はなるべくプログラマが厳密にした方が良いって理由。
InitGraphだとMakeScreenやMakeGraphやCreateGraphFromSoftImageで作った画像も全部丸ごと削除されてしまうから。
DeleteGraphなら無効なハンドル渡したときに戻り値で-1返すし、どのハンドルが解放されたのかを明示的に指示した方が分かりやすい。
自分はグラフィックハンドル周りはクラスでカプセル化してデストラクタで必ずDeleteGraphして解放するようにしてる。

>>935
>あと各画像がそのゲーム画面で初めて表示されるときも微量ずつ謎の上昇……
省3
937: 2009/03/28(土)20:01 ID:ShTXh3pj(3/9) AAS
>>936 そうか最初の1回は上がって普通なのか。
あとメモリの動的確保ならやってない。画像関係の問題ってわかっててるし。
CrtSetDbgFlagって言うのをググってみたけどデバッグ環境が必要みたいだね。
そりゃ無理な話だ……

あまりしたくないんだけど、ゲーム画面のコードを晒せば原因判明するかな?
938: 2009/03/28(土)20:15 ID:8c8Vy+u+(8/11) AAS
Borland C++使ってるのなら_CRT関数は使えない。Microsoft Visual Studio専用関数だからね。
さすがに現状で、要因を探すのは難しいな。
939: 2009/03/28(土)21:42 ID:ShTXh3pj(4/9) AAS
それは……晒しても無駄って意味だよな。
940: 2009/03/28(土)21:46 ID:8c8Vy+u+(9/11) AAS
いや、発言だけじゃ原因が特定できないってこと。
コード出してくれればもちろん見るよ。
941
(1): 2009/03/28(土)22:09 ID:ShTXh3pj(5/9) AAS
外部リンク:www1.axfc.net
pass : dx
根っからの初心者ゆえ、稚拙かつわかりにくいけどお願いします。
942: 2009/03/28(土)22:18 ID:8c8Vy+u+(10/11) AAS
>>941
DLしてみたよ。想像以上のソースだったw

えっと、原因はLoadSoftImageに対して、DeleteGraphを使ってるところ。
DeleteSoftImageを使いましょう。
943: 2009/03/28(土)22:39 ID:ShTXh3pj(6/9) AAS
ちょ、ちょっと待っててね……そのまんま範囲内全置換しても強制終了する。原因究明中。
944
(1): 2009/03/28(土)22:50 ID:JfTJy2mS(1/2) AAS
凄まじいソースだなww
945
(2): 2009/03/28(土)22:58 ID:X3zs6AFo(1) AAS
前にもこんなソースを見たことがあるぞ
946
(1): 2009/03/28(土)23:17 ID:ShTXh3pj(7/9) AAS
ID:8c8Vy+u+ありがとう! 100kぐらいずつしか上がらなくなった! 感謝感激雨霰、3か月悩み抜いた甲斐があったってもんですぜ。

>>945 晒したのは初めてだぜ。

あと、ソース長くてもミスが見つかりにくくなるぐらいなもんだよな、問題は……
947: 2009/03/28(土)23:23 ID:nBMPzKvQ(1) AAS
>>あと、ソース長くてもミスが見つかりにくくなるぐらいなもんだよな、問題は……
それが一番困ると思うぜ
948: 2009/03/28(土)23:27 ID:JfTJy2mS(2/2) AAS
分割オヌヌメ
れっつextern
949: 2009/03/28(土)23:29 ID:ShTXh3pj(8/9) AAS
ああそうか。externが原因の1つかもしれないと思ってできるだけ避けてたんだ。
だけど大丈夫なのか。じゃあ関数使いまくれるぜ。
950: 2009/03/28(土)23:30 ID:8c8Vy+u+(11/11) AAS
>>946
ういうい。どうもです。
コード晒すのは勇気いるけど、コードを隠すプログラマは例外なくダメプログラマに育つからね。
その点、コードを出したのはすばらしいと思うよ。3ヶ月悩んだものがコード出したら10分足らずで解決できたように早期解決できるし両得だ。

あと、デバッグ環境が無いみたいだけどVisual C++ 2008 Express Edition(無償)を使うと良いよ。
外部リンク:www.microsoft.com
デバッグが使えるのは大きいし、コンパイラの性能が良いから、Borland C++5.5よりも大体1.2倍ぐらいはプログラムが速くなるさ。
951
(1): 2009/03/28(土)23:46 ID:ShTXh3pj(9/9) AAS
なんかSP1てついてるけどこれでいいんだな……やてみるぜ。ありがとう。
952: 2009/03/29(日)00:08 ID:wJL07IJT(1/11) AAS
>>951
そうそう。それでok
VS2008へのDXライブラリの組み込み方はDXライブラリ公式サイトに書いてあるよ。
外部リンク[html]:homepage2.nifty.com
953
(2): 2009/03/29(日)00:20 ID:IeRll+oU(1) AAS
>>945
おそらくそれはしょぼんのアクションだ。
954: 2009/03/29(日)00:33 ID:6OZkFx/C(1) AAS
>>953
ああ、それだわ
>>136-145 あたりでも話題になってるな
955: 2009/03/29(日)00:39 ID:wJL07IJT(2/11) AAS
>>953
すごいなこれ。
リファクタリングの腕がつくから試してみようかと思ったが、
さすがにマジックナンバーが多すぎてちょっと無理っぽいわ。

//自由な値
int xx[91];
double xd[11];
省2
956
(1): 2009/03/29(日)00:56 ID:8NyFLpVN(1/3) AAS
BCCdeveloperでは大丈夫だったのに
全部の関数で「〜で既に宣言されています」
って出る……何のためのヘッダだよ……
957: 2009/03/29(日)00:57 ID:8NyFLpVN(2/3) AAS
あ、ID変わってる。どうも、ショボン二世です。
958: 2009/03/29(日)01:00 ID:wJL07IJT(3/11) AAS
>>956
ヘッダの先頭に
#pragma once
と書く
959: 2009/03/29(日)01:04 ID:wJL07IJT(4/11) AAS
#pragma onceだとVCでしか使えないから、
正確にはインクルードガードをするのが良いんだけどね。(__HOGE_H__は自分のヘッダファイル名)

#ifndef __HOGE_H__
#define __HOGE_H__
(ヘッダ本文)
#endif // __HOGE_H__

ま、どうせVCしか使わないんだろうからどっちでも良いよ。
960
(2): 2009/03/29(日)01:19 ID:4SqorqSC(1/6) AAS
3ヶ月解けなかったものを10分で解けちゃう人がいると聞いて飛んできたわけじゃないんですけど、
C++でメンバ関数ポインタって使ってもいいもんなんですかね。
goto思想のようなものでもお行儀のようなものでもいいんだけど、普通はどんなもんか教えてください。
ついさっきメンバ関数ポインタっぽいものがあったらスマートに書けるなーと思って検索したら発見しました。
もし具体例が必要なら提示しますので教えてください。
961: 2009/03/29(日)01:22 ID:8NyFLpVN(3/3) AAS
全く意味がわからない。・゚゚(ノД`)
今まで何を勘違いしたか知らないけどヘッダファイルに直接関数を書いてた。
BCCに帰りたくなったけど少しでも軽くするためにがんばります。
修行の旅に出ますありがとうございましたノシ
962
(1): 2009/03/29(日)01:39 ID:wJL07IJT(5/11) AAS
>>960
staticなメンバ関数について関数ポインタをとるのなら文法的には合ってるが作法的にはよろしくないとは思う。
(クラスは設計者と利用者が異なる観点ではオーバーライドされる可能性があるという意味で。)

けれど仕様上、静的なコールバックを要求する場合(Windowsメッセージプロシージャ等)だと、
staticなメンバ関数を指定した方が読みやすいと俺は思う。
この場合、staticメンバ変数から、Singletonオブジェクトを参照してインスタンスを得る方法を自分は多用しています。

自分で設計するのであれば、C++なら関数ポインタを使わずに、インターフェースクラスから派生する手法だったり、
省2
963: 2009/03/29(日)01:41 ID:wJL07IJT(6/11) AAS
×この場合、staticメンバ変数から、Singletonオブジェクトを参照してインスタンスを得る方法を自分は多用しています。
○この場合、staticメンバ関数内で、Singletonオブジェクトを参照してインスタンスを得る方法を自分は多用しています。
964
(3): 2009/03/29(日)02:00 ID:4SqorqSC(2/6) AAS
>>962
staticではないメンバ関数ポインタでした。
個人製作だから、という言い訳の前提のもと、シングルトンデザパタとかも使わずアプリケーションの最初で1つ生成し、アプリケーションの最後で破棄されるっていうクラスの中なんですが、
staticなクラスにするのもいいのですが今回の話とは関係なさそうなので割愛します。

問題の箇所は、MyClassオブジェクトを生成したint main()から見て、あるMyClass.A()は特定の1度しか呼ばれず、あるMyClass.B()は1フレーム中で毎回呼ばれます。
そして、MyClass.B()はMyClass.C()やMyClass.D()やMyClass.E()のうちどれかを呼びます。
当然B()に呼ばれるC()やD()やE()も毎回呼ばれないと困るのですが、呼ぶ先のメソッドが変わっても困るのです。
省6
965
(2): 2009/03/29(日)02:22 ID:wJL07IJT(7/11) AAS
>>964
言っていることをそのまま実装すると
staticでないメンバ変数の関数ポインタ(MyClass.B()〜C())を参照するとエラー出るよね。
「仮想関数のポインタが参照されました」というのが。

デザパタを使いたくないのであれば、方法は1つしかない。

メンバ関数のアドレスをthisポインタからのオフセットアドレス値から算出するという手段で、けっこう裏技。
かなりの裏技でC++に熟知してないと普通は使わない方法だね。
省3
966
(1): 2009/03/29(日)03:00 ID:4SqorqSC(3/6) AAS
>>965
まさにそのサイトも見て実装しました。
そしてまさにその使い方の事を聞きたかったのです。分かりにくい説明でごめんなさい。

ただ参考になりました。ありがとうございました。
デザインパターンも勉強してみて試行錯誤してみたいと思います。

蛇足ですが、C++でゲーム作ると(staticな?)アプリケーションクラスを一つ作って、
int main()の中のメインループの中でアプリケーションクラスを呼び出すことから始まりますよね。
省6
967
(1): 2009/03/29(日)03:09 ID:wJL07IJT(8/11) AAS
>>964のやりたい処理はこれでOKなハズ
サンプルソース書いたよ
外部リンク[html]:www.dotup.org
968: 2009/03/29(日)03:21 ID:4SqorqSC(4/6) AAS
>>967
わざわざありがとうございます。
ソース見させていただきました。
ほぼ同じように実装しました。
実際にはポインタに入る関数はA()が決めるのですが同じですね。
969
(1): 2009/03/29(日)03:22 ID:uaYHl2HP(1/5) AAS
>>960
普通につかって全く問題ない。Cとは表記が違うのだけ注意。
他のクラスには適用できないし、キャストも許可されないので、むしろCより安全に使える

>>964だとこんなかんじ

class Hoge {
public:
Hoge() : target(NULL) {}
省13
970
(1): 2009/03/29(日)03:25 ID:uaYHl2HP(2/5) AAS
てか、965さんちゃんとわかってるんじゃん…

裏技でもなんでもないよってことで。
971: 2009/03/29(日)03:30 ID:wJL07IJT(9/11) AAS
>>966
おっと、書き込む前にリロードすればよかった。
デザパタは相当C++やJavaが相当手馴れた頃に初めて見てみると、目から鱗な考え方なんだ。
素人が下手に手を出しても意味が分からないまま終わっちゃう。
大規模アプリを作れるレベルになって設計と実装に悩みだした頃に読むと良いよ。
ゲーム製作に特に使うのはSingleton,Strategy,TemplateMethod,Facade辺り。次にAbstractFadtoryやObserver。後のはほとんど使わない。

オブジェクト指向がする必要の無い局面って結構あるから、
省4
972: 2009/03/29(日)03:33 ID:uaYHl2HP(3/5) AAS
ちょっと補足。

同じようなオブジェクトの微妙な動作違い、なら、設計的には
インターフェースを継承してオーバライドしたほうがいい。

この手法は同一オブジェクト内でのステート処理にむいてる。
何度も呼ばれて判定のオーバーヘッドの影響が無視できないような場合には特に有効。
973
(1): 2009/03/29(日)03:40 ID:wJL07IJT(10/11) AAS
>>970
もちろん知ってるさ。C/C++は20年選手に逝きそうなんだ……。
裏技扱いしたのは、理由があって、
多重継承をした仮想関数(純ではない)のアドレスを取得しようとして、thisポインタのサイズ(4byte)が変わる為に上手くアドレスが取れないことが以前にあった。(オフセット値がなぜかずれるためにアラインメント調整が必要になる)
という理由でコンパイラによっては非推奨な書き方だったりするんだ。
これはコンパイラのバグで、TurboC++ではダメだった記憶がある。
MSVCではたぶん大丈夫だが、一応使わないでおこうとしてた。
974: 2009/03/29(日)03:45 ID:wJL07IJT(11/11) AAS
ごめん。TurboC++だったか記憶にない。CodeWarriorだったかもしれん。
どちらにしても15年前ほど前の事だったからたぶん今では問題ないと思う。
975
(1): 2009/03/29(日)03:45 ID:4SqorqSC(5/6) AAS
>>969
ふむふむ、全く問題ないのですね!
提示してくれたソースもよくわかるのですが、た…typedef…。
勉強不足のためなんとなくでしかわからないですがなんとなく分かった感じです。
こんな感じでもいいですかね?
class Hoge {
public:
省19
976: 2009/03/29(日)03:53 ID:uaYHl2HP(4/5) AAS
大先輩!失礼いたしました…

あー、コンパイラのバグ……。そういうのは一度ふむと使わなくなりがちですな(苦笑)

状態遷移系の処理の他だと、半自動のバインド処理の類を書くときとかに、
テンプレートと組み合わせてばりばり使ってたりします。
977: 2009/03/29(日)03:57 ID:uaYHl2HP(5/5) AAS
>>975
typedefは、宣言した複雑な型をシンプルに表記できて、
書き方覚えるととてもすっきりするので、時間あったら勉強してみてください

表記はそれで特に問題はないですが、その条件判定なら
switch つかったほうがいいと思いますです。
978: 2009/03/29(日)04:13 ID:4SqorqSC(6/6) AAS
なんという頼もしいスレ…
起きててよかった。
勉強してきます=3
979: 2009/03/29(日)07:10 ID:wuoKvdm5(1) AAS
まーたDXライブラリと関係ない話して。
初心者相手に技術自慢したいならc++関係のスレに行けばいいのに。
そこでは相手にもされない程度なのか?

DXライブラリ
980
(1): 2009/03/29(日)07:26 ID:vMEVjIQX(1) AAS
それだけのベテランがDXライブラリを使ってる(のだろう)事が驚き。

俺はCについてはド素人同然なので、いろいろ教えてもらえるのは助かる。
確かにスレ違いではあるんだが、DXライブラリを使ってること前提で
話をしたい場合もあるし。
981: 2009/03/29(日)10:08 ID:BGS9yVjy(1) AAS
>>980
趣味でゲーム作ってるのが長い人には、Cの書き方でパパーッと書き上げる事もできるし、
(Windows95の頃から始めたような人なら短いものならOOじゃない方がある程度の大きさでも楽だったりするしね。)
3Dに手出す(主にデータ的な部分)のが面倒な人には、
余計なモンついてなくて2Dに特化してるのに、 変な癖が少ないから使いやすい。
あと、最初からゲームパッドとかに対応は何気に使えるし。

車輪の再開発をやってきた様な人には、
省5
982
(1): 2009/03/29(日)12:18 ID:eagJL9bR(1/2) AAS
>>973
それバグでもなんでもねえし、
ポインタのサイズは変わらないだろ
983
(1): 2009/03/29(日)13:11 ID:Zf+/7kJf(1) AAS
普段はこのスレは過疎ってるから別にいいじゃないのか? DXライブラリでゲーム作るテクとしてメンバ関数ポインタを使うこともあるかもしれないしさ。

>>982
正確に書くと、継承した場合のメンバ関数ポインタのサイズが4バイトとは限らない(コンパイラ依存)
多重継承や仮想継承をしている場合、正しいポインタサイズを返すために8バイトや12バイトとなることがある。
しかし、昔のバグコンパイラではこの点が考慮されておらず必ず4バイト固定だった時代があり、派生や仮想関数を呼び出そうとするとアラインメントを調節する必要があった。
ということ。ポインタは必ず4バイトというのは早計だよ。
984
(1): 2009/03/29(日)18:18 ID:eagJL9bR(2/2) AAS
>>983
何故得意気なのか理解できんが、
それはサイズが変わるとは言わないだろ?
結局のところ、静的なサイズは確定している。
985: 2009/03/29(日)21:00 ID:aWInPsJ8(1) AAS
>>984
RTTIしていると大問題。

なんか、微妙にスレ違いだし、
偉そうにしているといわれたようなので黙って老害は去りますね。
失礼しやした。
986: 2009/03/29(日)22:56 ID:8b86AGfH(1) AAS
どこが得意気なのやら

で、次スレはどうするんよ
987: 2009/03/30(月)00:07 ID:Ui9Ndm7F(1) AAS
DXライブラリ総合スレッドその3、で建てればいいんじゃね。
988: 2009/03/30(月)01:19 ID:Y8nEXzvT(1) AAS
>>990頼んだ
989: 2009/03/30(月)01:54 ID:1JQfO1aW(1) AAS
>静的なサイズは確定している

> RTTIしていると大問題。

会話になってねぇww
990
(3): 2009/03/30(月)18:27 ID:II/eiBAq(1/3) AAS
質問です

{
{   //1フレーム間での処理
  A  ;
  B  ;
  C  ;
}
省8
991
(1): 2009/03/30(月)18:39 ID:x1tfO2A2(1/2) AAS
最初の大括弧はmainでその次はforとかのループの括弧か…?
992
(2): 2009/03/30(月)18:42 ID:b98OMwXU(1) AAS
int GetHitKeyStateAll( char *KeyStateBuf ) ;
を使えば起きない
993: 2009/03/30(月)18:43 ID:II/eiBAq(2/3) AAS
>>991
そんな感じです。すみません。
>>992
ありがとう
調べてみます
994
(1): 2009/03/30(月)18:46 ID:x1tfO2A2(2/2) AAS
>>990
適当な変数にそのフレームで一回押されたか押されてないかを記憶しておけばいいんでは?

main{
int space = 0;
  while(うんたら){   //1フレーム間での処理
  if (CheckHitKey(SPACE)==1)space=1;
  A  ;
省6
995
(1): 2009/03/30(月)19:18 ID:9Ep+SxhG(1) AAS
>>990

「ifの処理があるごと」じゃなくて「ChecHitKey」が実行されるごとだけど、
ご想像の通り、1フレームに何回もチェックしてたら
Aでは行われてBでは行われないって事がおきるはずだね。

994さんが言われてるようにフレームの一箇所でだけチェックして記録しておくってのも手だけど、
やっぱり992さんの言われてるGetHitKeyStateAllが俺としてはお勧めかな。
これはこの命令だけで全てのキーの入力情報を記録するから、
省1
996: 2009/03/30(月)20:06 ID:II/eiBAq(3/3) AAS
>>992
>>994
説明サンクス
上手くいきました!

>>995
なるほど、やはりでしたか。
それが原因のバグがでてましたがなんとか除けました。
997: 2009/03/30(月)21:58 ID:9rT9QBj3(1/4) AAS
ume
998: 2009/03/30(月)21:59 ID:9rT9QBj3(2/4) AAS
ume
999: 2009/03/30(月)22:00 ID:9rT9QBj3(3/4) AAS
ume
1000: 2009/03/30(月)22:00 ID:9rT9QBj3(4/4) AAS
ume
1001: 1001 Over 1000 Thread AAS
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.174s*