[過去ログ] Delphiゲームプログラミング相談室 (976レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
649: 名前は開発中のものです。 [sage] 05/01/11 01:59:22 ID:pbbV+EYH(1) AAS
>>648
648(3): 名前は開発中のものです。 [] 05/01/11 01:53:33 ID:emWhx/Bt(1) AAS
RPGの戦闘やADV等で、「何かキーが押されるまで待つ」というのは、
どうやって実装したらよいのでしょうか?

ぐぐってはみたのですが、見つけられませんでした。
どなたかご教示お願いします。
それくらい自分で設計できないと
ゲームは作れないと思いますが
650: 名前は開発中のものです。 [sage] 05/01/11 02:12:02 ID:YppJqvID(1) AAS
ネット上で見つからないわけがない
ぐぐりなおせ
651: 名前は開発中のものです。 [sage] 05/01/11 03:22:41 ID:0FZGm+nd(1) AAS
てか探さなくても少し考えればわかるだろうに…
652: 名前は開発中のものです。 [sage] 05/01/11 07:44:08 ID:wtbTBePd(1) AAS
キーボードバッファをポーリングするか、
キーボードバッファにウォッチドッグタイマーを設定すれば良い
653: 名前は開発中のものです。 [sage] 05/01/11 12:18:09 ID:ZBsK3Diu(1) AAS
キーだけで良いのなら、

・ グローバルな”キー待ち解除フラグ”を用意
・ キー待ち開始時に、"キー待ち解除フラグ"へfalseを代入
・ "キー待ち解除フラグ"がtrueになったら、次へ進む
・ OnKeyDown内で、"キー待ち解除フラグ"へtrueを代入
654: 名前は開発中のものです。 [sage] 05/01/11 13:37:08 ID:NRrdSaQ+(1) AAS
>>648
あとゲームなら、OnIdleでGetKeyState()とかかな?
655: 名前は開発中のものです。 [sage] 05/01/11 14:23:11 ID:0gcMffxM(1) AAS
>>648
var
  keycode:  byte;
begin
  keycode:=0;
  while GetKeyState(keycode) >= 0 do begin
    Application.ProcessMessages;
    Inc(keycode);
    sleep(1);
  end;
end;
656: 名前は開発中のものです。 [sage] 05/01/12 01:42:55 ID:FfNXGpEa(1) AAS
Application.ProcessMessagesを呼ぶなら、普通にOnKeyDownでいいと思う。
657
(1): 名前は開発中のものです。 [sage] 05/01/17 12:32:17 ID:WK/WmwMg(1/2) AAS
QuadrupleDを利用して現在ゲーム製作中です
不明な点があるので質問させてください

画面に文字を書く場合のことです
現在はSxLib9のTSXTextWriterを利用してテクスチャを作っているのですが
マニュアルをみたところ複数行に対応していないように見受けられました。
一行ごとにテクスチャを用意するという方法で今はやっているのですが
よりよい方法がありましたらご教授ください
658
(2): 名前は開発中のものです。 [sage] 05/01/17 15:10:07 ID:HVMOReOm(1/2) AAS
>>657
自分でクラス化する。
じゃないと、改行幅きめられんでしょ。
四角色指定でのグラデーションも全体にかかっちゃうし。
659
(1): 名前は開発中のものです。 [sage] 05/01/17 17:00:44 ID:WK/WmwMg(2/2) AAS
>>658
いわれてみればまさにそのとおりです
SxLib9.pasを覗いて処理の内容は大まかに把握したので
自分でクラス化することにしました
ご回答どうもありがとうございました
660: 658 [sage] 05/01/17 22:48:27 ID:HVMOReOm(2/2) AAS
>>659
がんばってねー
661: 名前は開発中のものです。 [sage] 05/01/19 07:46:14 ID:QnLtZfZn(1) AAS
結論
理由
おまけ
662: 名前は開発中のものです。 [sage] 05/01/19 19:59:13 ID:X0qC9+o9(1/2) AAS
pascalとして既にある関数を自分でわざわざ作っている予感がして不安になるときが多々あります。
663
(1): 名前は開発中のものです。 [sage] 05/01/19 22:30:12 ID:mwNqv6lU(1) AAS
あるある。最近だとTObjectListというものを発見した。

コンマとかセミコロンで区切った文字列を、TStringListなんかに分解する関数ってあるのかな?
もう作っちゃったわけだが。
664
(1): 名前は開発中のものです。 [sage] 05/01/19 22:44:33 ID:rjaARbQN(1) AAS
>>663
TStrings.CommaTextで出来そうじゃね?
665: 名前は開発中のものです。 [sage] 05/01/19 23:50:57 ID:X0qC9+o9(2/2) AAS
誤爆してました
666
(3): 名前は開発中のものです。 [sage] 05/01/20 19:35:18 ID:YEKSm85f(1) AAS
>664
レスありがd
でも”CommaText”は逆の働きで、TStringListの全行を、コンマ区切りの一行の文字列に統合する関数なのです
1対1で対応する、逆の機能を持つ関数がふつーはあるよね。でも見つからない
667: 名前は開発中のものです。 [sage] 05/01/20 20:06:25 ID:1UJPEd40(1) AAS
>>666
var
    StringList:  TStringList;
    str:    string;
    i:    Integer;
begin
    str:='mona,giko,c';
    StringList:=TStringList.Create;
    try
        StringList.CommaText:=str; //CommaTextへ代入すればOK
        for  i:=0  to  StringList.Count-1  do  begin
            Memo1.Lines.Add(StringList[i]);
        end;
    finally
        StringList.Free;
    end

end;
668: 666 [sage] 05/01/23 00:16:42 ID:6Jup5Ydu(1) AAS
おおぉぉ、これはエレガント。いいもの見せてもらった、ありがとー!

try〜finallyで囲ってあるあたりがプロっぽいね
669: 名前は開発中のものです。 [sage] 05/01/23 00:56:34 ID:WKqPqKjy(1) AAS
Createの後にtry finallyは常識なわけだが
670: 名前は開発中のものです。 [sage] 05/01/23 13:23:11 ID:riZwaTYt(1) AAS
そうでもない。

絶対に例外が起きえないケースだったら
余分なコードを減らすためにあえて入れない事もあると思うが。
671: 名前は開発中のものです。 [sage] 05/01/23 13:57:32 ID:/T7uKEQD(1) AAS
どうせコンパイルしたら同じバイナリになるのになんでそんな手間をかけてまでソースを省く
672: 名前は開発中のものです。 [sage] 05/01/25 00:37:23 ID:C1jkve15(1) AAS
太公望キタ━━━━(゚∀゚)━━━━ !!
673: 名前は開発中のものです。 [sage] 05/02/01 16:25:01 ID:chrwhD6K(1) AAS
>>666
Delphi の格言
外部リンク[cgi]:www2.big.or.jp
ノシ
1-
あと 303 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.014s