[過去ログ] Delphiゲームプログラミング相談室 (976レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
41(2): 名前は開発中のものです。 [] 01/12/16 20:22 ID:V2T+L2Ma(1) AAS
 >>3939(4): 名前は開発中のものです。 [sage] 01/12/16 18:55 ID:??? AAS
 YaneuraoGameScriptからDelphi6Personal乗り換える。 
 ダウンロードしてアップデートしてHelloWorld完了。 
 ifとかforなどを確認する。だいたいわかった。 
 けれどもクラスやオブジェクトやメソッドが意味不明。 
 しかしどの書籍を参考にすればいいかは知っているから 
 バイト代が入ったと同時に本屋に走ればいい。問題ない。 
 たぶん。ム板のスレにも同じような質問があるだろうし……。 
  
 Quadruple Dをダウンロードしてくる。いじってたら絵が出た。ヤター!! 
 サンプルのソースを見る。FPSの計算にQueryPerformanceCounter();という 
 命令が使われているけど、ヘルプを検索してもどういうわけか見つからない。 
 ム板のDelphiスレをひととおり捜してみても、そんな質問は出ていない。 
 Googleで検索したらVC++についてのページが出てきた。あれえ? 
 DelphiよりもWindowsに近い基本的な命令なんだろうか。 
 すいません。お手上げです。質問させてください。 
  
 1.QueryPerformanceCounter();がDelphiのヘルプにないのは何故なのですか? 
 2.またどのような書籍(またはサイト)で説明されているのでしょうか? 
 3.命令が網羅されている辞典のような書籍(リファレンス?)を 
   紹介してください。ヘルプよりも紙媒体の方が好きなので…。 
  
 よろしくおねがいします。  
YGSをやめた理由は? 
 漏れYGSで作ろうかと思ってたんだけど。 
42(2): 名前は開発中のものです。 [sage] 01/12/16 20:52 ID:??? AAS
 >>39 
 WindowsAPIだからDelphiのヘルプにないのはあたりまえ〜。 
 QueryPermanceCounterの上にカーソル置いて、F1押してみたまえ。WinAPI用ののヘルプがでる。 
  
 とはいえ、付属のヘルプは最新のものではないので 
 MSのオンラインヘルプもチェックしておくことをオススメする。 
 外部リンク[asp]:www.microsoft.com 
43(1): 名前は開発中のものです。 [] 01/12/16 23:15 ID:UIW9iU9y(1) AAS
 ゲームに限定されないけど、 
 関数のヘッダにかくコメントって 
 Delphiではどんなの書いてる? 
44: 名前は開発中のものです。 [sage] 01/12/17 00:49 ID:??? AAS
 >>43 
 {----------------------------------------------} 
 { Function: hogehoge                           } 
 { Argumrnts: a: xxx(^^;)                       } 
 {            b: xxx(x_x)                       } 
 { Return: 1: hoge 2: hage(-_-)                 } 
 { History: 1990/10/10 Created                  } 
 {----------------------------------------------} 
45: 名前は開発中のものです。 [sage] 01/12/17 01:38 ID:??? AAS
 コンポーネントの何たるかも、オブジェクト指向の何たるかも 
 分かっていない者からの質問です。 
  
 ラベルコンポから派生した、マウスカーソルと重なっている間は 
 色が変化するコンポがあるとします。 
 それを何個か並べてゲーム中の選択肢を選ばせる場面で使います。 
 どれかがクリックされたら全てのラベル共通のOnClickハンドラに 
 飛んで、どのラベルが押されたかを判断するようにしようと思います。 
  
 ラベル本来の使い道とは違うので、こういう事するのは有りなのか 
 な?と疑問が沸きました。 
 お行儀が悪ければ、具体的に指摘していただけませんか。 
46(1): 39 [sage] 01/12/17 02:57 ID:??? AAS
 >>42 
 おかしいなあ。語句にカーソルを合わせてF1押すことも 
 もちろん試したのですが(つうか最初に書くべきだった) 
 QueryInterfaceが選択されて出てきませんでした。 
 探し方が悪いのかダウンロード版にはヘルプが無いのか。 
 MSDNのページをあさってみます。 
 ありがとうございました。 
  
 >>41 
 大学の都合でOOPを身につける必要が生じたので、 
 その勉強を兼ねて。 
 別にYGSが悪いとか考えたわけじゃないです。 
47: 42 [sage] 01/12/17 07:05 ID:??? AAS
 >>46 
 ごめん、試してみたらF1で出ないわ(w 
 とりあえず、ネットつなげない時用に、 
 ツールバーの上で右クリック、「カスタマイズ」→「コマンド」→「ヘルプ」→「Windows API」 
 でツールバーの上にWindowsAPIのHelpのアイコン出せるので。 
 # デフォルトでメニューから選べるようにしといて欲しいもんだけど 
48: 名前は開発中のものです。 [] 02/01/11 03:34 ID:4gfbUP+R(1) AAS
 かなり良さげなページハケーン 
 外部リンク:www.suzuka-ct.ac.jp 
49: 名前は開発中のものです。 [sage] 02/01/11 12:46 ID:??? AAS
 >>41 
 C言語の腐ったような、おままごと見たいな言語よりは、 
 まともな言語使っておいた方が自分のためにもいいぜ。 
 けっこうまともなデバッガも付いてるしさ。 
 別に乗り換え先の言語はDelphiじゃなくてもいいけど。 
50(3): 名前は開発中のものです。 [] 02/01/15 22:00 ID:no/G6LIu(1) AAS
 ゲームを作ってみようと思って最近Delphi入手してプログラムの勉強を始め、 
 とりあえず画面にスプライトをたくさん表示してみたりしてるとこなんですが 
 どうにも画面のちらつきが気になってしまう。 
 自分の持ってる知識では 
  1.裏バッファに描画。 
  2.V-ブランクを待つ。 
  3.表バッファと裏バッファの入れ替え(ん?考えてみたらフルスクリーンじゃなきゃダメなのかな?だと裏→表バッファへコピーかな) 
 って感じでやれば良いと思うんですが、 
 V-ブランクのタイミングを調べる関数がどうしても見つかりません。 
 そもそもDelphiにはそんな関数は存在しないんでしょうか? 
 よく知らないんだがWIN32APIってのを使わないといけないのだろうか。 
51(3): 名前は開発中のものです。 [] 02/01/15 22:08 ID:aT6JIdrh(1) AAS
 >>50 
 外部リンク[htm]:home4.highway.ne.jp 
 ここのサンプル見てみた? 
52: 50 [] 02/01/15 23:50 ID:Ix5dcxBu(1) AAS
>>51 
 え〜と、そのサンプルは見てみましたが、 
 Vブランクのチェックとか裏バッファ使うとかやってませんし,残念ながら画面もちらつきまくってます。 
  
 ちょっと話がずれますが 
 サンプルでBitbltって関数を使ってますが、これはWin32APIの関数なのかな? 
 自作のコードではCanvas.Transparent:=TrueにしてCanvas.Draw()でスプライトを表示してました。 
 多分、BitBltを使うほうが速いのか? これから処理メーターでも作って比較してみます。 
  
 あぁ、でも処理メーター作るのには時間を計る関数を調べなきゃならないなぁ。 
 Delphiのヘルプって使いずらくてしんどいです。 
 Delphi6Personalのダウンロード版をってるんですがパッケージ版についてる紙のマニュアルは見やすいんですかね? 
 見やすいのなら買ってみようと思います。 
53(1): 名前は開発中のものです。 [sage] 02/01/15 23:57 ID:??? AAS
 バックバッファとしてTImageを用意してそこに描画、そこから画面全体(もしくは更新部分のみ) 
 を表にBitBlt。 
 それで描画が遅くて耐えられないようだったら他の方法を考えるのでいいかと。 
 BitBltはWin32APIです。 
  
 パッケージ版はどうかな。買うほどではないと聞きますが。 
 ヘルプは慣れです^^; 
54(1): 名前は開発中のものです。 [sage] 02/01/16 00:04 ID:??? AAS
 外部リンク[html]:www.osk.3web.ne.jp 
 ここにもあるように、VSYNC待ちはいろいろと面倒です。。 
 (ちなみにVSYNCを待って転送するAPIはDirectXのものしか知りません。 
 通常のWin32 GDIにあるんでしょうかね?) 
  
 その前に別の方法で高速化するのがいいかと。 
 すごいシビアならばDirectDrawつかわにゃなりませんし。 
55: 50 [sage] 02/01/16 01:30 ID:??? AAS
 >>53 
 パッケージ版はいまいちですか。その分のお金をDelphiなりWin32Apiの解説本に使ったほうが良さそうですね。 
  
 >>54 
 紹介のページ見てみました。そうか、PCだとコンシューマーと違って環境ごとにリフレッシュレートが違うって事が頭から抜けてました。 
 大昔、ゲームメーカーにいた時にプログラマーさんから教えてもらった知識が頭にあって、 
 Vsyncに同期を取って描画、ウェイト処理をするのが当たり前だと考えてました。 
 んー。結局、ちらつきのまったく無い画面、スムーズなスクロール等を実現したければ 
 フルスクリーンにして、リフレッシュレートもこちらから指定しないと難しいみたいですね。 
 で、そのためにはDirectDrawを覚える、と。 
  
 今作ってるゲームは練習用ですし、ちらつきは我慢してとりあえず完成させてみます。 
 DirectX以前に勉強しなきゃならないことは、いっぱいありますし。 
  
 レスくださった方々、どうもありがとうございます。 
56(1): 51 [sage] 02/01/16 01:51 ID:??? AAS
 実はレスしているのは全部私だったりして。 
  
 51のリンク先のサンプルをダブルバッファリングするように書き変えてみましたが、 
 高速化の工夫を何もしていないとはいえ、かなり描画が引っかかります。 
 全面をBltするのはやめたほうがいいかも。面倒ですが。 
57: 51 [sage] 02/01/16 01:54 ID:??? AAS
 >56で描画が引っかかると書いたのは間違いだった模様。(裏で重いアプリが動いていたせい) 
 あの程度の描画量だと引っかかりもなくスムーズに描けました。 
58: 名前は開発中のものです。 [] 02/01/21 01:02 ID:3QJf94A+(1) AAS
 情報が少なすぎてなにやっていいのかさっぱりです。 
59: 名前は開発中のものです。 [sage] 02/01/21 07:49 ID:??? AAS
 プログラムをするのがはじめてなら、最初は人のプログラムを真似ることから始めると良いよ。
最初は訳わかんなくても、やってるうちに覚えてきます。以下お薦めのページ。
プログラムをしたことが無いなら、ここ。
ゼロから始めるDelphi講座	外部リンク[htm]:www.text2music.com
次に、このへん flow of water のプログラム講座 外部リンク[htm]:isweb21.infoseek.co.jp
60: Delフサギコ [sage] 02/01/21 09:57 ID:??? AAS
   ,,,,,,,,,,,,,∧,,∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 
〜′,,,,,,,ミ,,゚Д゚彡 < ひまわりって、Delphiの人つくったん?
  UU""" U U   \_______________  
61(5): 名前は開発中のものです。 [] 02/01/21 12:21 ID:cvZI6toD(1) AAS
 delphiで、効果音とかの短いwavを、いったんメモリに読み込んで鳴らそうて思ってるんですが
なかなか上手くいかないんで教えろ。
今のところ
sndPlaySound(Pchar('koukaon.wav'),SND_ASYNC)
ってなってるところ、最後のパラメーターをSND_MEMORYって書き換えたいんだけど
そうするとファイル名のところをポインタ型にしなくちゃいけないらしんだよ。windows的に。
で、filestreamとか使ってwavfile読み込んだ変数のポインタ渡そうとしても
型が違いますとかコンパイラの人に怒られちゃうんですが、
どうしたら良いんでしょうか?
フサギコさん教えて! 
62: Delフサギコ [sage] 02/01/21 13:04 ID:??? AAS
  氏らん事は教えられません。
 よくわかなんだけど
 PFileStreamとか定義するんじゃないかしら
  . ̄ ̄∨ ̄ ̄ ̄ 
    . ∧,,∧ 
     ミ ゚Д゚ ミ たんにwavだけなら
     (ミ  ミ)  ム技板で質問してもいいかもね。
    〜ミ  ミ 
      ∪''∪  
63(2): 名前は開発中のものです。 [sage] 02/01/21 15:52 ID:??? AAS
 >>61
 function load(fn: string): string;
 var
  fs: TFileStream;
  ss: TStringStream;
 begin
  result := '';
  fs := TFileStream.Create(fn, fmOpenRead);
  try
   ss := TStringStream.Create('');
   try
    ss.CopyFrom(fs, fs.Size);
    result := ss.DataString;
   finally
    ss.Free;
   end;
  finally
   fs.Free;
  end;
 end;
こんなコードを使って
s: string;
s := load('gikohahaha.wav');
sndPlaySound( pchar(s),  SND_MEMORY or SND_ASYNC );
とか。 
64: 名前は開発中のものです。 [sage] 02/01/21 18:55 ID:??? AAS
 stringヲツカウトハ━━━━━━(゚∀゚)━━━━━━ !! 
65: 61 [sage] 02/01/21 23:34 ID:??? AAS
 >>Delフサギコ 
 ム板はなんだか敷居が高く感じられるので(;´Д`)コワヒ。。。 
  
 >>63様 
 無事動きました。(゚д゚)ウマー  
 えーと、いったんTStringStreamに読み込んで。。。 
 (;´Д`)理解するまでもう少し時間をください。 
 これから研究してみます。 
 ありがとうございました。 
上下前次1-新書関写板覧索設栞歴
あと 911 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.016s