DXlibでsprintfを使って画像を読み込む処理について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
メカ
記事: 37
登録日時: 12年前

DXlibでsprintfを使って画像を読み込む処理について

#1

投稿記事 by メカ » 12年前

200枚程の画像を読み込む時にsprintfで場所を指定してますが、
どうしても10枚目で途切れてしまいます。
10の位が指定出来てないのが原因と思いますが、色々試してもおなじ結果になります。
自分の打ったコードですが、誤りがあると思います。
1.png~200.pngが"Data/anime/"にあるとします。

コード:

char Name[128];
int png[200];//画像ハンドル
for(int i=0;i<200;i=i+1){
sprintf(Name,"Data/anime/%d.png",i);
png[i]=LoadGraph(Name);
}
これを実行すると9.pngまで読み込めました。
10.png以降は読みこめません。
全てのファイルを読み込むにはどうすればいいのでしょうか?
ご回答お待ちしています。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: DXlibでsprintfを使って画像を読み込む処理について

#2

投稿記事 by みけCAT » 12年前

このコードで10.png以降が読み込めないとは考えられません。
直接

コード:

png[10]=LoadGraph("Data/anime/10.png");
としたらどうなりますか?

1.png~200.pngなら

コード:

for(int i=1;i<=200;i=i+1){
sprintf(Name,"Data/anime/%d.png",i);
png[i]=LoadGraph(Name);
}
または

コード:

for(int i=0;i<200;i=i+1){
sprintf(Name,"Data/anime/%d.png",i+1);
png[i]=LoadGraph(Name);
}
の方がよくないですか?

関係ないですが、なぜ"i=i+1"は"i++"としないのですか?(変更を強制するものではありません)
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
メカ
記事: 37
登録日時: 12年前

Re: DXlibでsprintfを使って画像を読み込む処理について

#3

投稿記事 by メカ » 12年前

すいません!18.png位まで読み込めてました。
ですがそれ以降が読み込めないです。
原因としてはどういった物があるのでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: DXlibでsprintfを使って画像を読み込む処理について

#4

投稿記事 by softya(ソフト屋) » 12年前

メカ さんが書きました:すいません!18.png位まで読み込めてました。
ですがそれ以降が読み込めないです。
原因としてはどういった物があるのでしょうか?
Log.txtとしてエラーが出力されていませんでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ISLe
記事: 2650
登録日時: 14年前
連絡を取る:

Re: DXlibでsprintfを使って画像を読み込む処理について

#5

投稿記事 by ISLe » 12年前

VRAMの容量が不足しているのでは?

アバター
メカ
記事: 37
登録日時: 12年前

Re: DXlibでsprintfを使って画像を読み込む処理について

#6

投稿記事 by メカ » 12年前

皆さんご回答有難う御座います\(^o^)/
原因はメモリ不足でした!

閉鎖

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