文字列動画について

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

文字列動画について

#1

投稿記事 by kitanohito » 17年前

文字列動画のデバック中にエラーで実行できないのですが
何が悪いのでしょうか

これが一部変更したところです
#include "DxLib.h"

#define MAX 3000

#define GAMEN_YOKO 512
#define GAMEN_TATE 384

#define IMAGE1

#ifdef IMAGE0
#define BMP_YOKO 1024
#define BMP_TATE 576
#endif
#ifdef IMAGE1
#define BMP_YOKO 512
#define BMP_TATE 384
#endif
#ifdef IMAGE2
#define BMP_YOKO 400
#define BMP_TATE 300
#endif
#ifdef IMAGE3
#define BMP_YOKO 320
#define BMP_TATE 240
#endif
~省略~
//bmpファイルを読む関数です。
//ファイル名が違う場合はダブルコーテーション内をいじってください
//配列に0を埋めている作業は、ファイル名が00000001になるようにするためです。
void bmp_read(int cnt){
int i;
char name[64];
FILE *fp;

sprintf(name,"image0/3DみくみくPV♪ %7d.bmp",cnt+1);
for(i=12;name!='/0';i++){
if(name==' ')
name='0';
}
fp = fopen( name , "rb" );
if( fp == NULL ){
printfDx( "%sが見つかりません。",name);
return;
}
fread( data, 1, TOTAL, fp );
fclose(fp);
}

~省略~
//上のイフ文のコメントアウトを解除し、下をコメントアウトすると全画面になります。
// if(DxLib_Init() == -1 ) return -1;
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1;

load();

sound=LoadSoundMem("3DみくみくPV♪.mp3");

SetDrawScreen( DX_SCREEN_BACK );
SetFontSize(size);

while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key )){
check_key();
change_size(&size);

if(cnt==0)
play_music();

draw_AA(size,cnt);

cnt++;

if(Key[KEY_INPUT_F12]==1 || cnt>=MAX){
cnt=0;
stop_music();
}

//WaitTimer(???); //<-時間がずれる場合はここで時間調整してください。

if(Key[KEY_INPUT_ESCAPE]==1)break;
ScreenFlip();
}
DxLib_End();
return 0;
}

御津凪

Re:文字列動画について

#2

投稿記事 by 御津凪 » 17年前

どこでエラーが出て実行できないのか分かりませんが、気になった点を一つ。

配列に0を埋める処理の部分で問題があると思います。
これでは読み込みパスの全ての空白文字が0に置き換わってしまいます。

%7d では無く、 %07d とすれば、連番部分に0が自動で埋められます。

閉鎖

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