[過去ログ] DXライブラリ 総合スレッド その19 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
208: 2017/04/15(土)04:40 ID:RtlOPePd(2/2) AAS
マルチスレッドということはC++11を扱うということですね
Core i7を乗せてるのでCore UPUに対応したゲーム開発も興味はあるが
技術的に敷居が少し高いので今はまだいいかな
最新のC++コンパイラも必要になるし
ゲームのプレイヤーがCore i7 や Core i5のCPUを乗せてないと威力は発揮されない
209: [age] 2017/04/15(土)09:19 ID:+pklgBp/(1/2) AAS
短い場合(メモリー上にwave展開しない)
SetCreateSoundDataType( DX_SOUNDDATATYPE_MEMPRESS );
長い場合(ストリーミング再生)
SetCreateSoundDataType( DX_SOUNDDATATYPE_FILE );
どちらか書く
210: 2017/04/15(土)09:44 ID:+pklgBp/(2/2) AAS
外部リンク:jgame.blog.fc2.com
あんたこのブログの人やろ頑張りや
211: 2017/04/15(土)09:52 ID:PBMOYWDr(1) AAS
ちなみに画像や音声のマルチスレッド読み込みはDXライブラリ標準機能で
SetUseAsyncLoadFlag(TRUE)使えば簡単よ
212: 2017/04/15(土)11:40 ID:3FEYykSP(2/2) AAS
C++11とか使ってませんが、ロード画面作るときにマルチスレッドを使いました。
あくまでロード時に凍るのを防ぐために使用するのでCPUがどうとかは無いですよ。
process.hをインクルードしてResumeThreadさせるだけで実装できます。
213(2): 2017/04/15(土)13:07 ID:poy2AG7G(1) AAS
何故だろう、急に挙動が変わった。
sizeが0を返すからファイルが見付からない訳じゃないと思うのだけど。
void* readbin( char *filename)
{
int size ,rsize ,h;
char *ptr;
if ( size = FileRead_size( filename ) == -1 ) errmsg( NOTREAD ,filename );
ptr = (char*)malloc(size+1);
if ( h = FileRead_open( filename ) == 0 ) errmsg( NOTOPEN ,filename );
rsize=FileRead_read(ptr ,size ,h);
省4
214(1): 2017/04/15(土)13:25 ID:JeCVIRaX(1) AAS
> ptr = (char*)malloc(size+1);
この+1はなに?
本題とは関係ないけど
215: 2017/04/15(土)14:44 ID:qT8WsIhy(1) AAS
DXLib 知らずに覗いてるだけでどう挙動が変わったかわからんので >>213 の疑問には答えられないが、
>>214
おそらくファイルのく中身は表示などに使う文字列だという前提だと、
文字列の終端は NULL で止める必要があるのでその 1byte 分を余計に確保している。
(今どきのコンパイラは malloc での確保と同時に \0 埋めをしてくれるのかもしれないけどちょっと危ないな。)
readbin() という名前からして文字列と言っても中身はバイト列と推測できるので、
ファイルの中身には終端 NULL を入れずに記録しているんだろう。
216: 213 2017/04/15(土)15:14 ID:YQ+vHcvV(1) AAS
+1は苦し紛れにあーだこーだいじる過程でダメ元で付加してみたのでした。
末端に不定の1バイトが付加されるので無駄な容量食いではありますが、危険という認識はありませんでした。
早急に削除します。
そして、自己解決しました。if文の連結順序を誤解していました。何故今まで動いていたんだ・・・。
if ( size = FileRead_size( filename ) == -1 ) errmsg( NOTREAD ,filename );
if ( h = FileRead_open( filename ) == 0 ) errmsg( NOTOPEN ,filename );
↑これは↓こうですね。
if ( (size = FileRead_size( filename )) == -1 ) errmsg( NOTREAD ,filename );
if ( (h = FileRead_open( filename )) == 0 ) errmsg( NOTOPEN ,filename );
お騒がせしました。
217: 2017/04/18(火)20:45 ID:bJnkmQcY(1) AAS
ホラーだ
218(2): 2017/04/29(土)01:27 ID:/YvMYhCO(1/2) AAS
DXライブラリはgifアニメーションを再生できないのでしょうか?
DXライブラリ以外ならgifアニメ再生できたりするのでしょうか?
「こう記述すればできる」など教えてください
219(1): 2017/04/29(土)06:09 ID:SAAy66wJ(1) AAS
gifをそのまま読み込んで表示はできなかったはず
連番画像に変換するか、もしくは動画にするかだな
220: 2017/04/29(土)16:48 ID:/YvMYhCO(2/2) AAS
>>219
割とむつかしい事しなきゃ動画像は表現できないんですね・・・
爆発エフェクトとか魔法エフェクトとかgifで表現したかったんですが、少し億劫になってしまいました
回答ありがとうございました
221: 2017/04/29(土)17:59 ID:xrI1QiYS(1) AAS
LoadDivGraph使えば連番画像が配列に入るから簡単やで
っていうか簡単なエフェクトなら回転拡大縮小やブレンドパラメータの変更で表現できるんじゃない?
222: 2017/04/29(土)18:40 ID:EkJNcx6r(1) AAS
>>218
一応C#版ならサンプル転がってるね
規制でurl貼れないけど検索すればすぐ見つかる
でも221が言うようにDivGraph系使った方が楽だと思う
223: 2017/05/05(金)10:05 ID:NXBeyHLp(1) AAS
なるほど初期化とかのタイミングで一旦展開するのがエンジン的には普通なのか
224: 2017/05/05(金)15:40 ID:yUv3bLae(1) AAS
最初から専用形式化アニメGifくらいにしか出力できないツールとかでもない限り、
手間は大して変わらんだろうしな
225: 2017/05/07(日)15:21 ID:If6RMgU7(1) AAS
結局誰かが何処かで一所懸命動かしてるわけだしな
226: 2017/05/09(火)08:34 ID:K1FQSBk+(1) AAS
アニメーション用の画像を一枚にまとめた後ってLoadDivGraphでもDrawRectGraphでもアニメーションにできるけど
どっちの方が軽いとかってあるのかな
227: 2017/05/09(火)09:38 ID:2FI5hhgE(1) AAS
内部的にはほぼ同じ処理だと思う
どちらも一度のドローコールでまとめて描画するから速度はほとんど変わらないはず
上下前次1-新書関写板覧索設栞歴
あと 775 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.026s