リソースの使い方

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

リソースの使い方

#1

投稿記事 by » 18年前

リソースの使い方について悩んでいます。画像をリソースするにはリソーススクリプトファイルに

title RCDATA "data\gametitle.jpg"

と書き、

HRSRC hRes = FindResource(NULL, "title", RT_RCDATA);
gametitlejpg = CreateGraphFromMem(LockResource(LoadResource(NULL, hRes)), SizeofResource(NULL, hRes));
DrawGraph(0,60,gametitlejpg,FALSE);

と使ういうことは分かりました。しかし動画を同じ方法でやろうと思ったら「Turbo Incremental Linker」が強制終了してしまいます。動画は別の方法でリソースしなければならないのでしょうか?

DXライブラリとC言語をつかってシューティングを作っています。
使用コンパイラは Borland bcc32
補助ソフトとして BCC Developer を使っています。
DXライブラリを使うのは初めてです。暗号化は難しそうだったのでリソースでデータをプレイヤーから隠そうと考えています

Justy

Re:リソースの使い方

#2

投稿記事 by Justy » 18年前

 リソースの埋め込みはそれでいいと思います。

 が、CreateGraphFromMem()は画像用ですし、動画で同じ方法ってどの関数を使ったのでしょうか。
 一見メモリから動画を再生する関数は Dxライブラリにはないように見えますが。

 もしあるようでしたら、その関数を提示して下さい。
 ないようでしたら、そもそもメモリから再生はできないと考えて別の手段を考える必要があります。
 
 
 例えばあくまでリソースとして埋め込みたいのであれば、そのメモリ内にあるデータを
一端ユーザにはわからないようなところにファイルとして書き出して(不可視属性をつけておくと尚良し)、
そのファイルから動画を再生させ、再生が終了したらそのファイルを消す、とか。

 Win32APIの GetTempPath()とか GetTempFileName()などのテンポラリ関連の操作関数と
併用すれば解析されない限りそうそうユーザーにはわからないと思います。

Re:リソースの使い方

#3

投稿記事 by » 18年前

>>Justyさん

回答ありがとうございます。

リソースに

movie RCDATA "data\opening.wmv"

と記述し、

HRSRC hRes = FindResource(NULL, "movie", RT_RCDATA);
int opening = CreateGraphFromMem(LockResource(LoadResource(NULL, hRes)), SizeofResource(NULL, hRes));
PlayMovie("opening",1,DX_MOVIEPLAYTYPE_BCANCEL);

とソースの方に記述して動画を再生しようと考えましたが強制終了してしまいました。

動画は普通リソースとして埋め込まないものなんでしょうか?

Justy

Re:リソースの使い方

#4

投稿記事 by Justy » 18年前

>int opening = CreateGraphFromMem(LockResource(LoadResource(NULL, hRes)), SizeofResource(NULL, hRes));
 CreateGraphFromMem()・・・この関数は画像用です。動画で使うべきものではありません。
 多分、こういう使い方をしたときのこの関数の戻り値 openingのは -1(エラー)になっていると思います。
 それに得られたグラフィックハンドル openingを使わず、"opening"というファイルの動画を再生しようとしていますよ。

 とりあえず、動画用のメモリから再生するルーチンを探してみて下さい。
(私には見つけられませんでした)


>動画は普通リソースとして埋め込まないものなんでしょうか
 んー、動画をリソースして埋め込むのはあまり聞かないですね。
 基本的にアイコンとかダイアログとかメニューとかの直接アプリケーションに関わっているもの以外のデータは
プログラムと分離するのが普通ですし。

Re:リソースの使い方

#5

投稿記事 by » 18年前

>>Justyさん

リソース以外の方法でプレイヤーから動画を隠す方法も考えてみます。

ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る