ページ 11

書き換えについて

Posted: 2009年12月12日(土) 23:47
by サンタクロース
質問です。龍神録さんでは
LoadDivGraph( "dat/bullet/BULLET0.png" , 16 ,16,1 ,10 ,10 ,img_bullet[0]) ;
で弾画像をロードして
DrawRotaGraphF(shot.bullet[j].x+FX+dn.x, shot.bullet[j].y+FY+dn.y, 1.0,
shot.bullet[j].angle+PI/2,img_bullet[shot.bullet[j].knd][shot.bullet[j].co[/url],TRUE);
という風に描画していますよね。
では
gh=LoadDivGraph( "dat/bullet/BULLET0.png" , 16 ,16,1 ,10 ,10 ,img_bullet[0]) ;
とすると描画の関数はどのように訂正すれば同じ結果が得られるでしょうか?

Re:書き換えについて

Posted: 2009年12月13日(日) 00:14
by Dixq (管理人)
>>サンタクロースさん

こんにちは。

んんと、何がしたいのです?
ghにグラフィックハンドルを入れたいのでしょうか?

Div関数の返り値はグラフィックハンドルではなく、
処理結果です。エラーかどうかしかわかりません。
関数の仕様はこちらを見て下さい。
http://homepage2.nifty.com/natupaji/DxL ... .html#R3N3

関数の返り値はエラーが起きたかどうか以外に使う必要はないです。

Re:書き換えについて

Posted: 2009年12月14日(月) 21:40
by サンタクロース
すみません。回答ありがとうございます。
一回頭を冷やして一から考え直そうと思います

Re:書き換えについて

Posted: 2009年12月14日(月) 22:01
by Dixq (管理人)
いや、全く難しい話ではないですよ^^;
つまり、何をしたいのかをお聞きしたかったのですが・・。

Divの関数の返り値はハンドルではありません。
よって、帰り値を格納してもエラーかどうかしかわかりません。
ハンドルはimg_bulletに格納されます。

・・どの辺で躓いていらっしゃいますか?

Re:書き換えについて

Posted: 2009年12月15日(火) 22:10
by サンタクロース
じつはPSPで自作しているので内容が分かりづらいかも知れないです。すみません
DXライブラリportableでは
MoveGraphToVRAM(gh); //VRAMへ置く
という関数があってこれを使うと画像をVRAMに置き描画の処理落ちがぐんと減るというものです。
使い方は

gh = LoadGraph("test.png" ); //画像読み込み

MoveGraphToVRAM(gh);//VRAMへ置く

DrawRotaGraphF( X, Y, 1.0 , 0 , gh ,TRUE,0);//描画

このように使います。
ところがこれをLoadGraphではなくLoadDivGraphを使う場合このghの部分?をどうすればよいのかよく分からないのです。

Re:書き換えについて

Posted: 2009年12月15日(火) 22:22
by Dixq (管理人)
DXライブラリポータブルの仕様は存じませんが、DXライブラリでは、こうなっています。
http://homepage2.nifty.com/natupaji/DxL ... .html#R3N3
関数の第七引数にハンドルのポインタを渡します。

DXライブラリポータブルが正式に配布されているなら、どこかに関数仕様が書いてあるのではないでしょうか?

Re:書き換えについて

Posted: 2009年12月15日(火) 22:38
by yu
>>サンタクロース様

>ところがこれをLoadGraphではなくLoadDivGraphを使う場合このghの部分?をどうすればよいのかよく分から
>ないのです。

DXLPはソースが公開されているので自分で見てみるのも良いかと思います。

...

少し見てきましたが、分割された画像のどのハンドルを渡してもVRAMに移動されるみたいです。
UV値変えて描画してるだけなので大本のデータは変わりません。
間違ってたら...すみません orz


#追記
DXLPのBBSに全く同じ話題が挙がっていましたw
ttp://dxlibp.sourceforge.jp/cgi-bin/patio/read.cgi?no=132