[過去ログ] 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