ページ 1 / 1
簡略化
Posted: 2013年9月10日(火) 12:00
by たべものやさん
画像をLoadgraphでロードするときに、1枚1枚ロードのコードを描くのが面倒です・・・
画像1枚が大きいのでLoaddivgraphでは無理です(出来はするかもしれないですが・・)
60枚使う画像があり、名前は「back_○○」となっています。(○○は数字が入る)
for文なり使い簡略化するサンプルコード、関数などを教えてください
DXライブラリとC言語でやっています。
Re: 簡略化
Posted: 2013年9月10日(火) 13:09
by softya(ソフト屋)
C言語の標準ライブラリsprintf()は分かりますか?
Re: 簡略化
Posted: 2013年9月10日(火) 17:51
by みけCAT
入る数字がランダムなら、その数字をstatic constな配列に入れておいて処理すればいいです。
Re: 簡略化
Posted: 2013年9月10日(火) 21:34
by Dixq (管理人)
softyaさんが仰っていることの答えになっちゃいますが、以下のコードをコンパイルしてみれば参考になるかと思います。
コード:
#include <stdio.h>
int main(){
char str[32];
for(int i=0; i<=100; i++){
sprintf(str, "back_%03d.png", i);
printf("%s\n", str);
}
return 0;
}
%03d
の0の部分は無い部分を0で埋めるという意味で、3は3桁であることを示します。
Re: 簡略化
Posted: 2013年9月10日(火) 21:36
by Dixq (管理人)
ちなみにみけCAT君が言っているのは以下のようなコードですね。
コード:
#include <stdio.h>
const static char* str[] = {
"back_012.png",
"back_923.png",
"back_152.png",
"back_523.png",
"back_243.png",
"back_163.png",
};
int main(){
for(int i=0; i<6; i++){
printf("%s\n", str[i]);
}
return 0;
}
Re: 簡略化
Posted: 2013年9月10日(火) 21:39
by みけCAT
Dixq (管理人) さんが書きました:ちなみにみけCAT君が言っているのは以下のようなコードですね。
コード:
#include <stdio.h>
const static char* str[] = {
"back_012.png",
"back_923.png",
"back_152.png",
"back_523.png",
"back_243.png",
"back_163.png",
};
int main(){
for(int i=0; i<6; i++){
printf("%s\n", str[i]);
}
return 0;
}
私の意図は少し違います。
コード:
#include <stdio.h>
const static int imageNumber[] = {12,923,152,523,243,163};
int main(){
char buf[32];
for(int i=0; i<6; i++){
sprintf(str, "back_%03d.png", imageNumber[i]);
printf("%s\n", str);
}
return 0;
}