DirectDrawで、サーフェイスにLoadPictureで読み込んだ画像を転送するには?

解決


ファン太  2003-10-28 11:55:13  No: 80052  IP: [192.*.*.*]

Directx7で、任意の大きさのサーフェイスを作成し、LoadPicture関数でオブジェクトに読み込んだチップをマッピングしたいのですが、オブジェクト型に読み込んでおいたBMP画像をサーフェイスに転送する方法はありますか?、ご存知の方よろしくお願い致します。

編集 削除
Y2  2003-10-28 22:24:46  No: 80053  IP: [192.*.*.*]

DirectDrawSurface7.GetDCメソッドでデバイスコンテキストを獲得して、そのDCに対してBitBlt関数などで画像を転送すれば、おそらくファン太さんのやりたいことが可能だと思いますけど。
WinAPIのBitBltとかのGDI関連は使ったことありますか?
あと、DX7のヘルプはありますか?DX7のヘルプを見れば書いてありますけどGetDCメソッドを使った後は必ずReleaseDCメソッドを使いましょう(^^;

ちなみに、チップをマッピングだけだといまいち何をしたいのかわからないので、質問するときは他の人にわかりやすく書いたほうがいい答えが帰って気安いですよ。

編集 削除
ファン太  2003-10-29 10:16:29  No: 80054  IP: [192.*.*.*]

Y2さん回答ありがとうございます、私の説明不足で「何やりたいの?」ってカンジでしたね  (^^;。
今スロットマシーンのゲームを作っているのですが、7種類の絵柄(7やBAR等)を21コマ(ラップ領域を含めて実際は25コマですが)の帯状のサーフェイスにマッピングしたかったのです。
Dim Pic(6) as Variant
Dim I as integer
    For i = 0 to 6
        Set Pic(i) = LoadPic("XX.BMP")
    Next i

のようにバリアント型の変数に読み込んでおき、絵柄配置テーブルに従って縦長のサーフェイスに絵柄をマッピングしようとしています。

CreateSurfaceFromFile  で7種類の絵柄を読み込むのが手っ取り早いと思うのですが、ゲーム中の機種変更により絵柄や筐体の画像を入れ替える必要があるので、前述の関数で作成したサーフェイスの中身を後から変更する方法が知りたいのです。

>DX7のヘルプはありますか
ええと、VBのヘルプから見れるDirectX関連のヘルプでいいのでしょうか?、表示されますが英語・・・(T_T)ですね。

>WinAPIのBitBltとかのGDI関連は使ったことありますか
一応さわりだけですが  (遅くてスロットにならないのであきらめた記憶が・・)

DirectXを使いこなしている方々にはくだらない質問だと思うのですが、どうかよろしくお願い致します。

編集 削除
魔界の仮面弁士  2003-10-29 10:26:57  No: 80055  IP: [192.*.*.*]

>> DX7のヘルプはありますか
> ええと、VBのヘルプから見れるDirectX関連のヘルプでいいのでしょうか?、表示されますが英語・・・(T_T)ですね。

http://www.microsoft.com/downloads/details.aspx?FamilyID=3a9531f6-577c-4748-b59c-2197014f544e&DisplayLang=ja

編集 削除
ファン太  2003-10-29 11:10:58  No: 80056  IP: [192.*.*.*]

日本語ヘルプをDLしました、しばらくにらめっこして色々試してみます。
Y2さん 魔界の仮面弁士さんありがとうございました。

編集 削除