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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
903
(1): 名前は開発中のものです。 [sage] 2006/05/27(土) 03:36:26 ID:DbCpqm4N(1/5) AAS
うん。
Delphiは、とりあえう、画面に画像だすのは簡単なんだけど、
ゲーム用に使おうとするとどれ使っていいかわかんなかったりする。
ゲーム用にってのは、高速に、だったり、ちらつかない、だったりする。
しかも、TImageだったり、TPaintBoxだったり、TBitmapがあったりして、
結局どれ使うのよ?
という疑問は最初はあると思う。
Delphiでゲーム作るときは誰しも通る道だと思う。
904
(1): 名前は開発中のものです。 [] 2006/05/27(土) 03:47:07 ID:DbCpqm4N(2/5) AAS
で、手段はいくつかある。

まず、用語解説。一般的じゃないかもしれんが、勘弁してくれ。

バックバッファ: ちらつかないようにするための裏画面
表示バッファ: 画面に見える

その1、TImageを利用する方法

・表示バッファ用のTImage
 VisibleをTrueにしとく
・バックバッファ用のTImage
 VisibleをFalseにしとく
・キャラクタ画像用のTImage複数
 VisibleをFalse、TransparentをTrue、
 あらかじめ適当な画像を読み込んでおく

あとは、
・バックバッファを適当に消去
 Canvas.FillRectあたりを使う
・キャラ画像をバックバッファにコピー
 TImage.Canvas.Drawを使う
・バックバッファを表示バッファにコピー
 上と同じ

これで、キャラ画像の背景を透過して、
ちらつかないで画像が表示できる(はず)
速度はちと遅い(でも数年前の話)けど、慣れたら簡単
905
(2): 名前は開発中のものです。 [] 2006/05/27(土) 03:57:04 ID:DbCpqm4N(3/5) AAS
↑ウマくいかんだら、聞いてね。昔やった方法だから、忘れてるかも

その2、TBitmapを使う方法

・表示用のTImageを用意する
・バックバッファ用のTBitmapを用意する
・キャラクタ画像用のTBitmapを用意する
 LoadFromFileとかで、実行時に画像を読み込む

TBitmapはFormCreateとかで、Createするのをお忘れなく。

あとは、
・バックバッファを消去
・キャラ画像をバックバッファにコピー
 Canvas.Drawとか、
 ScanLineとか使って、コピー
・バックバッファを表示バッファにコピー
 Canvas.Drawでいいか?
906
(1): 名前は開発中のものです。 [] 2006/05/27(土) 03:58:18 ID:DbCpqm4N(4/5) AAS
その3、DirectXを使う方法

DirectXでも、DirectDrawとかDirect3Dがある。
これは、SDKとか落としてきて、CとかC++の資料を見ればわかる。
グラフィックカードにもよるが、一番これが速度が速い。
907
(2): 名前は開発中のものです。 [] 2006/05/27(土) 04:03:09 ID:DbCpqm4N(5/5) AAS
って、ここまで書いて、元の質問が、ローソク足描くだけのことだと気づいた。
俺の苦労はいったい・・・ orz
1-
あと 69 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.020s