[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 09/18 05:21 / Filesize : 258 KB / Number-of Response : 975
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Delphi】 ゲームつくるぞ(゚Д゚)ゴルァ 2【Delphi】



1 名前:名前は開発中のものです。 mailto:sage [04/10/15 19:34:29 ID:q0RdRnIe]
Delphiでゲームを作ってしまおうという実践形式のスレです。

初代スレ>>1より抜粋:
「プログラム経験無
しかしRPGを作りたいのだ。
叩き煽りにめげず己が道を突き進みたい。
何故あせるのか。
そこには一つの目標が在るから。
とりあえずは本との睨めっこ。
やる気は12分にあるので、駄スレと言わず付き合っていただきたい。」

RPGに限らずがんがん作ってあぷしてきましょう。

過去スレ:
【Delphi】 ゲームつくるぞ(゚Д゚)ゴルァ 【作れば?】
pc5.2ch.net/test/read.cgi/gamedev/1051110669/

[Delphi] RPG作らねば [Delphi]
pc2.2ch.net/test/read.cgi/gamedev/1013976376/

ゲ製作技術板専用あぷろだ集:
forgamedev.zombie.jp/wiki/pukiwiki.php?uploader

Delphiまとめ
gamdev.org/w/?%5B%5BDelphi%A4%DE%A4%C8%A4%E1%5D%5D

関連スレは>>2-10くらい。

539 名前:名前は開発中のものです。 mailto:sage [2006/12/28(木) 16:41:31 ID:0xep+dCf]
入力部だけ、Quadruple DのDDIDEXを使ったら?

540 名前:名前は開発中のものです。 mailto:sage [2006/12/28(木) 16:51:38 ID:s6uD4tn3]
>>539
なるほど!さんくす!

541 名前:名前は開発中のものです。 [2007/01/02(火) 09:09:57 ID:0JGKnZK5]
>>532-536
サンクス。
そのサイトしらなかった。
参考になります

542 名前:名前は開発中のものです。 [2007/01/02(火) 09:23:53 ID:0JGKnZK5]
うーん・・・
>>532を見てみたけど、
データをrecordで持たないといけないとか、クラスメソッドにしないといけないとか
クラスの中にクラス持つとか、根本的な問題は回避できてないね。

中途半端にオブジェクト思考している意味がわからないし。
C言語でタスク処理しているのと変わらない雰囲気を受ける。

開発時間や、開発メモリと実行時間とのトレードオフを考えるとと、
普通にオブジェクト指向できた方がいい気が・・・

543 名前:名前は開発中のものです。 mailto:sage [2007/01/02(火) 09:43:14 ID:nzIkUmBg]
>>542
そうけ?
俺は大いに参考になったけど。

結局あれは、オブジェクト指向を、Delphi言語仕様で用意された書き方にこだわらず、
タスクシステムと整合性をとるために自前で実装したものだと理解した。
でもたしかに、クラスメソッドを全部Publicにしている意味はないな。

まあ、既存のオブジェクト仕様言語に乗っかってしか開発しない奴には難しいかもね。
C++じゃなく、C言語でオブジェクト指向なコードをかけるくらいの知識は必要だろうな。

544 名前:名前は開発中のものです。 mailto:sage [2007/01/02(火) 09:55:11 ID:nzIkUmBg]
蛇足だが、クラスメソッドを全部Publicにしている意味がないってのは、
メソッドポインタに代入されたメソッドを使う場合は、
PublicとかProtectedとかのアクセス権の意味がなくなるから、
それだったら、他のユニットから直接呼び出されないようにPrivateするのが正しいだろってこと。

その部分については、あのソースコードはおかしいな。
誰か作者に教えてやれよ。

545 名前:名前は開発中のものです。 [2007/01/02(火) 10:51:05 ID:0JGKnZK5]
> まあ、既存のオブジェクト仕様言語に乗っかってしか開発しない奴には難しいかもね。
> C++じゃなく、C言語でオブジェクト指向なコードをかけるくらいの知識は必要だろうな。

いや、時代に逆行した書き方が生理的に合わないんですよ・・・
書けないわけじゃなくて、見てて(書いてて)イライラするというか

546 名前:名前は開発中のものです。 mailto:sage [2007/01/02(火) 14:00:56 ID:nzIkUmBg]
>>545
いまっぽく富豪的に書きたいという言うならそれはそれで正解だろう
でも、速度を優先する書き方は、ゲームに限らず知識として持っておくと普通の開発でも便利に使える
タスクシステムもその一つ
富豪的プログラミングというのが、ハードウェアの進化速度を前提に、プログラミングによる高速化を否定するところから始まっているからな

547 名前:545 [2007/01/02(火) 20:49:52 ID:0JGKnZK5]
変な言い方した。
昔風に作ってる人、気を悪くしたらスマソ。

>>546
100MHz時代から、富豪的にやってるので、どうもクセが抜けないのですよ・・・。
当時でも動的確保で、普通に動いたましたから・・・



548 名前:名前は開発中のものです。 mailto:sage [2007/01/02(火) 22:12:32 ID:nzIkUmBg]
ADVなんかだと速度にあまりナーバスになる必要もないしな

549 名前:名前は開発中のものです。 mailto:sage [2007/01/03(水) 02:29:26 ID:uxX4wf1/]
結局、描画とMIDIがべらぼうに遅いって訳ね。

550 名前:名前は開発中のものです。 mailto:sage [2007/01/03(水) 10:54:08 ID:4jEdIOwT]
>>549
外部MIDIは遅くないだろ

あと、描画は確かに重い処理だけど、それを言い訳にしてボトルネックが描画以外である状態を見過ごすのも進歩が無い。
実際、ゲーム開始直後とか、ボス出現直後とか、メモリを大量に確保しに行く場面でFPSが落ちている、
メモリ確保について無頓着っぽいゲームとかあるしな。

551 名前:名前は開発中のものです。 mailto:sage [2007/01/07(日) 02:26:46 ID:wwxaiatr]
QDでゲームのスクリーンショットを保存したいんだけど、単純に Form の Canvas を保存すればいいのかな?
ここなんかを見るとスクリーンショットを撮るためにいろいろやってるんだけど。
www.c3.club.kyutech.ac.jp/~sukiyaki/index.php?%A5%B9%A5%AF%A5%EA%A1%BC%A5%F3%A5%B7%A5%E7%A5%C3%A5%C8

552 名前:名前は開発中のものです。 [2007/01/08(月) 22:07:03 ID:dC5e7Xrd]
QD3のサンプル(\tutorial\DGCarad\hello)で現在時刻を取得しようとしたらうまくいかねえ・・・
時間が進まないし、最初に取得した時間もちょっとずれてる
だれか試してみてくれないか?

procedure TForm1.ApplicationEvents1Idle(Sender: TObject;
  var Done: Boolean);
begin
  caption := FormatDateTime('yyyy/m/d hh:mm:ss', Now);//追加

553 名前:名前は開発中のものです。 mailto:sage [2007/01/08(月) 22:42:13 ID:mkyamgmh]
浮動小数点数の演算精度を落としているからかな

554 名前:名前は開発中のものです。 mailto:sage [2007/01/08(月) 22:54:47 ID:dC5e7Xrd]
>>553
おお、それかも。
これで問題ないように見えるけど、さすがに毎フレームごとにこんなことはできないなぁ。

uses
  Math;
var
  fpu: TFPUPrecisionMode;
begin
  fpu := GetPrecisionMode; //変更前のFPUモードを取得しておく
  SetPrecisionMode(pmExtended); //倍精度に変更
  caption := FormatDateTime('yyyy/m/d hh:mm:ss', Now);
  SetPrecisionMode(fpu); //元に戻す
end;

555 名前:名前は開発中のものです。 mailto:sage [2007/01/08(月) 23:00:24 ID:dC5e7Xrd]
おっとヘルプに
> SetPrecisionMode は,以前の精度制御モードを返します。
って書いてあるな。
>>554のGetPrecisionModeは要らないね。

556 名前:名前は開発中のものです。 mailto:sage [2007/01/08(月) 23:24:18 ID:mkyamgmh]
ゲーム開始時にTimeBeginPeriod(1)・TimeGetTime()・Now()を使って初期値を求めておいて、
ゲーム中はTimeGetTime()で差分を取ればいいんちゃう?
当然最後は、TimeEndPeriod(1)も忘れない

557 名前:名前は開発中のものです。 mailto:sage [2007/01/08(月) 23:59:36 ID:dC5e7Xrd]
>>556
なるほど。こんな感じでいいのかな?
ゲーム中に日付や時間を変更されたらお手上げだけど、そこまで面倒見なくてもいいか。

uses
  DateUtils;
begin
  //nは起動時のNow
  //tは起動時のTimeGetTime
  Caption := FormatDateTime('yyyy/mm/dd hh:mm:ss', IncMilliSecond(n, TimeGetTime-t));
end;



558 名前:545 [2007/01/10(水) 18:09:11 ID:o7h3y59i]
>>549
俺の経験では、処理食うのは、描画と、当たり判定(シューティングとかだと)くらいだなー。
あとはほとんど無視できる。

物理エンジンとか使ってない人のたわごとですが。

559 名前:名前は開発中のものです。 mailto:sage [2007/01/16(火) 19:19:20 ID:21nZzUdF]
WindowsMe&Delphi6で
with MediaPlayer1 do
begin //ExePathはString型の変数で実行ファイルのフォルダのパスが入ってます
 FileName := ExePath + 'Music\a.mp3';
 Open;
 Rewind;
 Play;
end;

こう書いて実行するとなぜかフリーズ&パソ落ちする…
しかもXpが入ったPCで実行した時は正常に動く…

何故でしょうか…

560 名前:名前は開発中のものです。 [2007/01/17(水) 02:30:49 ID:/mCixqQc]
>>559
マルチポストは嫌われるよ・・・

無効でレスしといた

561 名前:名前は開発中のものです。 mailto:sage [2007/01/17(水) 18:01:01 ID:IsVwqnkQ]
>>560
すいません

562 名前:名前は開発中のものです。 mailto:sage [2007/02/10(土) 22:42:19 ID:Qkni2dae]
www.pascalgamedevelopment.com/competitions.php?p=details&c=3

563 名前:名前は開発中のものです。 mailto:sage [2007/02/11(日) 22:54:53 ID:061ESCjQ]
QuadrupleDで3Dをやってみようと思ってgameSpaceLightってのを使ってみたのですが、
とりあえず適当においてSeve→

564 名前:名前は開発中のものです。 mailto:sage [2007/02/11(日) 22:58:51 ID:061ESCjQ]
間違えた…
Seve As→Object→*.X で保存。
で、それを Xsimplify.exe で変換しようとしても変換出来ないと出てしまうのですが、どうすればいいのでしょう?

それとは別に、フリーの六角大王で作った場合、
それの面の部分にBmpなどの画像を貼り付けたり出来ますか?

565 名前:名前は開発中のものです。 mailto:sage [2007/02/16(金) 16:15:57 ID:udoHt2Dx]
>>564
Xに変換するオプションがおかしいんじゃない?
一旦メタセコ経由するとか

566 名前:名前は開発中のものです。 mailto:sage [2007/02/17(土) 17:43:33 ID:dX8E43qX]
メタセコ使って無事に変換出来ました。
こっちの方が分かりやすいし、メタセコで作ってみる事にします。
ありがとうございました。

567 名前:名前は開発中のものです。 mailto:sage [2007/02/20(火) 20:07:13 ID:/aq4Yfd4]
デジタルロケってほぼdelphiだな
QD3やるより簡単そう



568 名前: mailto:sage [2007/02/21(水) 00:01:27 ID:HobpijDV]
OpenGLつってもやることはあんまDirectGraphicsと変わんないな

569 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 22:38:01 ID:DK8hfBpo]
特定のフォルダ内の全てのテキストファイルを探す処理はどうすれば良いですか?
具体的にはwindowsのファイル検索のような処理をしたいのです

FindFirstのワイルドカード(*.txt)を使うと
forやwhileを使ってもいつも同じファイル名を返し
フォルダ内のファイル名一覧になりません

どうすれば良いか教えて下さい

570 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 22:38:49 ID:DK8hfBpo]
すいません
くだスレの勘違いして誤爆したorz
スレ汚しスマソ。・゚・(ノ∀`)・゚・。

571 名前:名前は開発中のものです。 [2007/03/07(水) 21:58:34 ID:F1sR2Ln9]
ゲーム部分とかタイトル画面とかの個別の物は作れるけど、それを組み合わせるのが難しいな。
シーンクラスを継承していく方法を使ってるが・・・。

例えばゲーム中にコンフィグを出すことを考えると、設定が終わったら当然ゲームクラスを復帰させなくちゃいけないので
ゲームクラスはメモリに残したまま、コンフィグクラスを作ってメインとして走らせるだろ。
その辺の実現方法って、タイトル画面とは違うものになるよな。
タイトル画面はメインに復帰させる必要ないし。

みんなどうやってる?
コードの見通しが利いていい方法あるかな
あんまdelと関係ない話題ですまん

572 名前:名前は開発中のものです。 mailto:sage [2007/03/07(水) 23:51:12 ID:0BZm52xV]
>>571
タスクシステム派なので、タイトルからゲーム中から全てタスクで書いてる

573 名前:名前は開発中のものです。 [2007/03/08(木) 10:03:17 ID:/liPAkSl]
タイトル画面のコンフィグと同じものを出したいなら、少し手間だな。
シーンを入れ子にできるようにしておくとできると思う。

リプレイ実装するときにやったことがある。
リプレイのメニュー → メインのゲーム
といったように



574 名前:名前は開発中のものです。 mailto:sage [2007/03/08(木) 16:42:22 ID:AFx10kX4]
>>572
今タスクを使う利点って何?

575 名前:名前は開発中のものです。 mailto:sage [2007/03/08(木) 17:54:27 ID:cjd6YQpm]
>>574
思いついたことを羅列すると

すべてをタスク単位で考えられる
毎フレームcase文でゲームモードごとに違う関数を呼び出すとか格好悪い仕様にしなくて良い
同時に敵何体までとか敵弾何発までとか考える必要が無い
描画がどうせボトルネックだなんて言う人たちがこだわらなくなってしまっている部分を高速に動かせる

576 名前:名前は開発中のものです。 mailto:sage [2007/03/08(木) 21:09:06 ID://HWddsM]
>すべてをタスク単位で考えられる
クラス単位でも一緒のことじゃね?

>毎フレームcase文でゲームモードごとに違う関数を呼び出すとか格好悪い仕様にしなくて良い
多態でもいいね

>同時に敵何体までとか敵弾何発までとか考える必要が無い
それはタスクシステムではなくリスト構造の利点だね

>描画がどうせボトルネックだなんて言う人たちがこだわらなくなってしまっている部分を高速に動かせる
ベンチマークまで作って速度差が無いって結論でたよな

クラスとリスト構造をCで実現したのがタスクシステムであって
処理系がそれらをサポートした現在となってはわざわざ偽物を使う必要はない

577 名前:名前は開発中のものです。 mailto:sage [2007/03/08(木) 21:18:53 ID:MH4gYc6n]
タスクシステムはアセンブラが必須だった頃にオブジェクト指向プログラミングを
実現するための画期的な発明だった。

プログラング言語自体がオブジェクト指向プログラミング向けになった昨今、
タスクシステムをわざわざ使う必要はない…そう>>576は言いたいのかな?

じゃあ、個々人で使いたい方使えばいいんじゃね?
どっちも同じオブジェクト指向プログラミングなんだし。



578 名前:名前は開発中のものです。 mailto:sage [2007/03/08(木) 21:24:06 ID:cjd6YQpm]
>>576
>クラス単位でも一緒のことじゃね?
ぜんぜん一緒じゃない。
Delphiのオブジェクト指向だけではクラスごとに使用するメモリを定量的に扱えない。

>多態でもいいね
ぜんぜん良くない。
理由は上といっしょ。

>それはタスクシステムではなくリスト構造の利点だね
タスクシステムはワークスペース付きリンクリストを使います。

>ベンチマークまで作って速度差が無いって結論でたよな
お前の脳内で?

>クラスとリスト構造をCで実現したのがタスクシステムであって
>処理系がそれらをサポートした現在となってはわざわざ偽物を使う必要はない
おまえさんに学習意欲が無いだけとも言えるよそれ。
少しくらい調べてみろよ。あるいはゲーム作っているところでバイトするとか。
いまどきのオブジェクト指向とタスクシステムの融合を試みてそれを実践している人たちがいるからぐぐってみろ。
既存のオブジェクト指向で十分だってなら、それを本物だと思ってずっと使い続けてればいい。
俺はそう思わなかったし、他人の今時のタスクシステムのソースを読んだら面白かったからそれを実践している。

579 名前:名前は開発中のものです。 mailto:sage [2007/03/08(木) 21:25:00 ID://HWddsM]
>>577
実装の話してるのになんで設計の話してるの?

580 名前:名前は開発中のものです。 mailto:sage [2007/03/08(木) 21:25:59 ID:cjd6YQpm]
>>577
>タスクシステムはアセンブラが必須だった頃にオブジェクト指向プログラミングを
>実現するための画期的な発明だった。

は、まったくもって的外れな発言だと思うけど、

>じゃあ、個々人で使いたい方使えばいいんじゃね?

は激しく同意だね。
みんな使いたいものを使えばいいのであって、自分の使っていないものをわざわざ偽者呼ばわりする必要はない。

581 名前:名前は開発中のものです。 mailto:sage [2007/03/08(木) 21:27:16 ID:cjd6YQpm]
というわけで、こんなところで論議したってみんな引くだけなので俺は逃げる。
ノシー

582 名前:名前は開発中のものです。 mailto:sage [2007/03/08(木) 21:29:36 ID:MH4gYc6n]
>>581
ああ、ここは逃げた方が賢明だな。

583 名前:名前は開発中のものです。 mailto:sage [2007/03/08(木) 21:32:48 ID://HWddsM]
タスクシステムにメリットなしってことでいいんだな?
「格好悪い」とか「タスクシステムは高速」なんて
他の実装方法をけなしたり嘘をついてるんだからちゃんとケツ拭いとけよ

584 名前:名前は開発中のものです。 mailto:sage [2007/03/08(木) 21:34:20 ID:cjd6YQpm]
ノシー

585 名前:名前は開発中のものです。 mailto:sage [2007/03/08(木) 21:40:12 ID:MH4gYc6n]
いよいよ//HWddsM先生によって>>571氏の質問に対する格好いい解決方法が語られます。
ご期待ください。

586 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 00:46:25 ID:Z5cA2QMD]
>>//HWddsM先生の見事なあしらわれ方にワロタ

587 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 02:05:31 ID:zewzWx5T]
バカ対粘着のどこが見事だよ。
どっちもどっちだろ。



588 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 02:15:54 ID:Z5cA2QMD]
//HWddsM先生乙です

589 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 07:31:27 ID:pQJ0HJWT]
ID://HWddsM
は何か勘違いしてるに一票

590 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 10:26:35 ID:fPzp3dD1]
//HWddsM先生の次回作にご期待ください

591 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 11:07:40 ID:zewzWx5T]
俺は//HWddsMじゃ無いんだが。つーかここタスクシステムの話になると荒れるよな。

>>571
タイトルクラスやゲームクラスはシーンクラスを継承してるんだよな?
で、メインループで現在処理中の奴を呼んでると。
要するにStateパターンだな。
なら、>>573の言うように入れ子にするのがいいんじゃ無いか。
タイトルとコンフィグで別々の処理をはさんじゃうとStateパターンの意味がないし、変更部分も少なくていいと思うよ。

592 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 14:23:20 ID:koRMnLYy]
流れだけ見るとID:cjd6YQpmが自演で粘着してるようにしか見えない
第一どっちも肝心の質問は無視して自分のしたい主張をしてるだけで同レベルだろ

593 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 14:43:33 ID:8ixsZlvk]
case文で回すってのはわかるけど、タスクシステムってどういうのかわからない俺ガイル

594 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 16:33:05 ID:OYXXaoTk]
>>592
先生、今日もお疲れ様です

595 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 17:50:46 ID:qDtyT0AH]
タスクもオブジェクトもよくわからず黎明期の手法でしか
プログラム書けない俺ガイル

596 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 22:07:42 ID:64Al/ViS]
黎明期が読めない…orz

597 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 23:00:02 ID:T1R2ll0t]
れい



598 名前:名前は開発中のものです。 [2007/03/10(土) 10:19:32 ID:aZsLnSu1]
誰かいまどきのタスクシステムupしてくれ。

オブジェクト指向の長所をいかした、タスクシステムを

前にうpされてたのは、なんつーか、クラス化した意味がないような代物だった

599 名前:名前は開発中のものです。 [2007/03/10(土) 10:22:24 ID:aZsLnSu1]
と書いておいて、荒れそうだから、別スレでも立てていいですか?

【オブジェクト】タスクシステム統合スレ【思考】

600 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 10:53:51 ID:HFfnr1Xw]
>>599
いいんじゃないっすか?
オブジェクト思考ってところがなかなかツボですね。

ところで、ぽ前様方、SANDMANたんと今度会うかもしれないんだけど、
なんか伝えておく事ある?あんまりここ見てないみたいだから、伝えておくよ。

601 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 11:47:07 ID:mQxsvSPp]
>>600
なんでQD2系列のシンパの人たちは、QD3で一斉に手を引いたのか聞いてみてくれ。

602 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 19:12:59 ID:rFeA3T7/]
>>600
巨乳と貧乳どっち好きか聞いといてくれ

603 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 21:43:05 ID:SKnd54OI]
ぞうさんとキリンさんのどっちが好きか聞くべき

604 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 21:52:41 ID:uFaJ27RU]
ところでデジタルロケ使ってる奴おらんか?
delphiライクらしいがスクリプトだけで結構作れるもんなのか?

605 名前:名前は開発中のものです。 mailto:sage [2007/03/14(水) 15:46:54 ID:tUsXDgLQ]
>>600
右曲がりか左曲がりかは聞くだろう

606 名前:名前は開発中のものです。 mailto:sage [2007/03/14(水) 22:07:33 ID:59ZRVHc4]
>>599
乙、スレ建てたらリンク貼ってくれよっ

タスクシステム総合スレ
pc11.2ch.net/test/read.cgi/gamedev/1173708588/

607 名前:600 ◆I5rdyKb9KA mailto:sage [2007/03/15(木) 10:30:38 ID:qKbH6/0e]
なんとなくトリップ付けてみた。

特に伝えることも無さそう?じゃあ行ってくるノシ




608 名前:599 [2007/03/15(木) 10:46:31 ID:PMeVIICQ]
>>606
いや、俺じゃないんだけどw
立てられてしまったようだ。そっち行ってみる

609 名前:名前は開発中のものです。 mailto:sage [2007/03/21(水) 14:46:33 ID:3d2Nx9l1]
ノベルゲームの一文字ずつ文字表示のアンチエイリアスで悩んでいます。
普通に文字をTextoutする分にはまったく問題ないのですが、アンチエイリアス+縁取りを行なって長い文章を表示させようとすると、低スペックPCの場合かなりCPU負荷が高くなってしまい、文字表示が遅くなります。
現時点でエイリアスにはTABitMap系、TAntialias、graphic32を試しましたが
状況かわらずです。

Application.onIdleで上記の処理を行なっており、TImageに出しています。
(最初はタイマーを使っていたけど変更)

みなさんは、どのように処理されていますか?

610 名前:名前は開発中のものです。 mailto:sage [2007/03/21(水) 22:47:19 ID:DtRGcgWU]
もしかして毎フレーム描画してたりしない?
オフスクリーンバッファを用意して、再描画要求とか画像が更新されたときだけフォームに転送するとかすればよいかと。

あとは、文字を描き出す処理そのものが重い場合。
アンチ文字+縁取りするとき、少しづつずらす方法でやると超重くなる。ゲームには向かん。
TABitmapを見てみたけど、文字描画のたびにアンチエイリアス処理を繰り返し(9回)ているので重い。
TAntialiasは縁取り機能がついてないので実質TABitmapと同じだ。
graphic32は知らん。

つーわけでご自身で都合のいいようにレンダリングするのが一番高速と思うよ。

611 名前:名前は開発中のものです。 mailto:sage [2007/03/22(木) 14:00:53 ID:5GKUxrEv]
>>610
レスありがとうございます。
毎フレーム描写してます、たしかに・・・。Timerと同じように処理してました。
さらに過去ログのURLを発見し、その中から色々有益な情報が・・・。
あと、▼ノベルゲームツールを作っちゃうぞ!スレの方のTTimeManagerが使えそうな気が
するので、帰ってみたら組み込んでみます。

>つーわけでご自身で都合のいいようにレンダリングするのが一番高速と思うよ。
これはScanLineを使ってという事ですか?

612 名前:名前は開発中のものです。 mailto:sage [2007/03/22(木) 23:19:07 ID:R8aTZ2de]
> これはScanLineを使ってという事ですか?
まぁビットマップならそうなるなぁ。

あのスレを読んでくれたらしいので分かってるかも知れんけど、
おれの縁取り文字の作り方としては ExtCreatePen の dwWidth をいじる方法を使ってる。
members3.jcom.home.ne.jp/jellyjam/p/hukuro2.lzh
出力した文字をスーパーサンプリングすればおk
少しづつずらす方法よりは速く動いてくれるはずだー。

613 名前:609.611 mailto:sage [2007/03/23(金) 14:20:15 ID:O7NjqMCk]
>>612
おお、ご本人さんですか?
教えていただいたソースを参考にして、TAntialiasと組み合わせてみました。
その結果かなりスピードおよびCPU負荷が改善されて、ストレスなく出力する
事が出来ました。
TTimeManagerも使わせていただいております。 ありがとうございます!

614 名前:名前は開発中のものです。 mailto:sage [2007/03/28(水) 05:03:03 ID:oOZuGOm7]
>>607はどうした?

615 名前:名前は開発中のものです。 [2007/04/02(月) 08:17:02 ID:hm44jG0O]
簡易地図を作るのってどうしたらいい?
今はmemoで
100001111175
100001111155

とか0で通れる場所、1が草地みたいにしてるんだけど、
これを画像?とか色の点で表したいんですけど、よくわからないorz

616 名前:名前は開発中のものです。 mailto:sage [2007/04/03(火) 11:33:53 ID:isMTMhbC]
そのmemoの通りに1マス1ドットで塗っていけばよろしかろう

617 名前:名前は開発中のものです。 mailto:sage [2007/04/03(火) 19:58:32 ID:5kQV0QMp]
>>615
簡易地図じゃない地図は表示出来てるの?
レベルが不明なので・・・
っていうか草地でも通れる場所とかどうする気?



618 名前:名前は開発中のものです。 [2007/04/05(木) 15:57:44 ID:Bdi3spsZ]
そういうコンポ無かったっけ

619 名前:名前は開発中のものです。 [2007/04/05(木) 20:21:17 ID:53u6wZm0]
>>615
配列に入れて、forループまわして、Canvasに描画
って感じでしょうか。
どこまで理解しているかわからんので・・・

620 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 12:45:22 ID:Ym6lFCCp]
>>619
そうやって書くくらいならまずそれを試してみろよ…

621 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 13:40:27 ID:x1I77QsQ]
>>620
>>619>>615に教えてるんであって、ここで質問してるんじゃないぞ

622 名前:名前は開発中のものです。 [2007/04/09(月) 03:23:32 ID:/ygJ9fwS]
>>619
俺に言うなww

623 名前:名前は開発中のものです。 mailto:sage [2007/04/11(水) 14:17:54 ID:0P7anEL5]
>>615
TStringList.LoadFromFile

624 名前:名前は開発中のものです。 mailto:sage [2007/04/12(木) 02:22:53 ID:C9xwaHa5]
おまいらおもろいなw

625 名前:名前は開発中のものです。 mailto:sage [2007/04/28(土) 13:41:29 ID:yK7eRZjn]
kanechan.oh.land.to/soft/Tetris.zip
初めてゲーム作りに挑戦してみました。
テトリスっぽいものができてると思いますが、ちょっと問題があります。
描画にはQD3.03を使用しているのですが、特定の解像度ではゴミが表示されてしまいます。
見た限りではバッファの設定がうまくいってない感じなのですが、ソースを覗いてみても特にひねった部分はなく、原因がわかりません。
環境は、Windows XP・Delphi2006・Athlon64 3800+・1GB Memory・GF6600です。
この問題が解決できる神な方はいらっしゃらないでしょうか。
よろしくお願いします。

626 名前:名前は開発中のものです。 mailto:sage [2007/04/28(土) 15:56:26 ID:atuBgtD4]
>>625
ABitmap.dcuがないということでビルドできず、どういう状況か良くわからないのですが、
特定の解像度でゴミというのは、おそらくテクスチャの端が回り込んでいるんではないかと
思います。
ですので、「テクスチャ座標1.0以上を指定した場合は強制的に右端/下端を意味しますよ」
という指示をDirect3D側に出せば宜しいかと思います。

具体的な対処法としては、初期化ルーチンなどで以下のようなコードを実行します。
DG.D3DDevice.SetSamplerState(0, D3DSAMP_ADDRESSU, DWord(D3DTADDRESS_CLAMP));
DG.D3DDevice.SetSamplerState(0, D3DSAMP_ADDRESSV, DWord(D3DTADDRESS_CLAMP));

詳しくは「D3DSAMP_ADDRESSU」などをキーワードに調べてみるといいと思います。

627 名前:名前は開発中のものです。 mailto:sage [2007/04/28(土) 18:42:00 ID:6akzRmne]
レスが早くついているということは見てる人は見てるんだな、このスレ



628 名前:名前は開発中のものです。 mailto:sage [2007/04/28(土) 19:30:04 ID:atuBgtD4]
但し、人数は相当少ない気がします。
寂しい限りですねえ。

629 名前:名前は開発中のものです。 mailto:sage [2007/04/29(日) 16:15:46 ID:R3OZK0Kv]
みんなC#に逝ったんだよ

630 名前:名前は開発中のものです。 mailto:sage [2007/05/02(水) 22:41:30 ID:87vd7Ge6]
見てても付いていけてないし

631 名前:名前は開発中のものです。 mailto:sage [2007/05/02(水) 23:13:59 ID:KilBZHX2]
C#というかXNAはXNAでGCとの格闘とか頭痛のタネがありますからね。
慣れ親しんだDelphiでぼちぼち休日限定のゲーム作りというのも粋なもんです。
そのうち土日スレとかにもお邪魔してみたいですね。

632 名前:名前は開発中のものです。 mailto:sage [2007/05/02(水) 23:29:48 ID:bzeF1fQ4]
そういや、動的配列とインターフェースを駆使して、
Delphiでガベコレをやるってのは、ゲーム作成において便利かね?

633 名前:名前は開発中のものです。 mailto:sage [2007/05/02(水) 23:39:33 ID:KilBZHX2]
普通に便利だと思います。
Delphiのヒープマネージャってかなり高速ですから、普通にゴリゴリとSetLengthしてても
大して重くならないからいいですね。

今作ってるモノだと1/60秒あたりで多いときに1000回くらい、100バイト前後の領域をSetLengthで
確保・開放させるという基地外じみた事をやっていますけど、特にそのせいで重くなってる気は
しません。暫定的な実装なので、そのうちなんとかするつもりですけど…。

634 名前:名前は開発中のものです。 [2007/05/04(金) 13:08:42 ID:ljy2orUl]
>Delphiのヒープマネージャ
最近のバージョンで標準搭載難 FastMM は激早だよな。

635 名前:名前は開発中のものです。 mailto:sage [2007/05/04(金) 13:27:30 ID:WkjJnV0l]
そこまで言うのならVCなんかと比較で実測値出してくれよ

636 名前:名前は開発中のものです。 mailto:sage [2007/05/04(金) 15:35:06 ID:AWRlq2hw]
こんな過疎スレで釣り糸を垂れるだなんて…

637 名前:名前は開発中のものです。 [2007/05/04(金) 22:18:47 ID:+fXYp4ha]
>>635
それだけは、勘弁



638 名前:名前は開発中のものです。 mailto:sage [2007/05/05(土) 08:22:27 ID:pEU+mcsl]
VCもDelphiもコンパイラしかもアセンブラもかけるんだから比較はあまり意味がないような

639 名前:名前は開発中のものです。 mailto:sage [2007/05/05(土) 11:23:05 ID:jbTN3HYe]
それいうと、インラインアセンブラを搭載している開発環境は
すべておなじだということになっちまう






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<258KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef