背景が表示されない

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

背景が表示されない

#1

投稿記事 by 卒業したい » 9年前

今年もお世話になります

今、件名のように背景が表示されません;
「背景画像をバックにして線を引きたい」と
思いやってみたのですが
表示がされません

色々やってみたのですが
うまくいきません・・・

何が原因なんでしょうか?

後huru_bulletの中身は動くと思いますか?

誰かご教授をお願いします・・

コード:

 #include "DxLib.h"
 
int Key[256];
 
int GetHitKeyStateAll_2(int GetHitKeyStateAll_InputKey[]){
    char GetHitKeyStateAll_Key[256];
    GetHitKeyStateAll( GetHitKeyStateAll_Key );
    for(int i=0;i<256;i++){
        if(GetHitKeyStateAll_Key[i]==1) GetHitKeyStateAll_InputKey[i]++;
        else GetHitKeyStateAll_InputKey[i]=0;
    }
    return 0;
}
int CheckStateKey(unsigned char Handle){
	return Key[Handle];
}


//これは背景画像ーーーーーーーーーーーーーーーーーーーーーーーー
int haikei[10];
void gazou1(){
haikei[0]=LoadGraph("../../graph/kop3.png");
haikei[1]=LoadGraph("../../graph/ue1.png");
haikei[2]=LoadGraph("../../graph/migi1.png");
haikei[3]=LoadGraph("../../graph/hidari1.png");
haikei[4]=LoadGraph("../../graph/sita1.png");
}	
//--------------------------------------------------------------
//これは色の設定
int color[10];
void load(){
    color[0] = GetColor(255,255,255);//白
    color[1] = GetColor( 0, 0, 0);//黒
    color[2] = GetColor(255, 0, 0);//赤
    color[3] = GetColor( 0,255, 0);//緑
    color[4] = GetColor( 0, 0,255);//青
    color[5] = GetColor(255,255, 0);//黄色
    color[6] = GetColor( 0,255,255);//青緑
    color[7] = GetColor(255, 0,255);//紫
}//------------------------------------
 //--------------------------------------------------------------
//たまの画像----------------------------------------------------
int tama[1];
void gazou2(){
tama[0]=LoadGraph("../../graph/tama.png");
}
//辺り判定ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
#define HIT_UX 90;
#define HIT_UY 73;

#define HIT_MX 240;
#define HIT_MY 73;

#define HIT_HX 395;
#define HIT_HY 73;

#define HIT_SH 550;
#define HIT_SY 73;

#define VGOOD 8;
#define GOOD 20;
#define BAD 30;
//ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
typedef struct{
	int flag;
	int cnt;
	int knd;
}humen_t;
#define HUMEN_MAX 1000
humen_t humen[HUMEN_MAX];

void load_humen(){
	int i=0,cnt=0;
	int c;
	FILE *fp;
	fp=fopen("deta/humen/ue.txt","r");
	if(fp==NULL)
		return;
		while((c=fgetc(fp))!=EOF){
		if(c==' '||c=='\n')continue;
		if(c!='0'){
			humen[i].flag=1;
			humen[i].cnt=cnt;
			humen[i].knd=c-'0';
			i++;
		}
		cnt++;
	}
fclose(fp);
}

//----------------------------------------------

typedef struct{
	int flag1;//flag1とする
	double x,y;
}bullet_t;
#define BULLET_MAX 1000
bullet_t bullet[BULLET_MAX];

void huru_ballet(){
	int i;
	for(i=0;i<30;i++){	
	if(humen[i].flag==1){
		if(humen[i].knd==1){//もしhumenのkndが1に等しい時↓
			bullet[i].flag1=1;
			bullet[i].x=HIT_UX;
			bullet[i].y=480;
		}
	}}
}

int tama_bullet(){
	int i;
	for(i=0;i<30;i++){
	if(bullet[i].flag1=1){
				bullet[i].y-=9;             //座標を8減らす
				LoadGraph( bullet[i].x , bullet[i].y , tama[0] ,TRUE) ;
						if(bullet[i].y < -32){      //もし画面外まで来たら
                                        bullet[i].y=480;    //初期値に戻し、
                                        bullet[i].flag1=0;   //発射フラグを戻す
                                }
                        }
                }
}

void ini(){
	
	load_humen();
}

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
    ChangeWindowMode(TRUE);//ウィンドウモード
    
    if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化
    DrawGraph(0,0,haikei[0],TRUE);
	gazou1();

	DrawBox( 0, 70 , 645 , 75 , color[0] ,TRUE);
    DrawLine( 90 , 0 , 90 , 480 , color[2] );
    DrawLine( 240 , 0 , 240 , 480 , color[3] );
    DrawLine( 395 , 0 , 395 , 480 , color[4] );
    DrawLine( 550 , 0 , 550 , 480 , color[5] );
    load();

    while(ProcessMessage()==0 && ClearDrawScreen()==0 && GetHitKeyStateAll_2(Key)==0 && Key[KEY_INPUT_ESCAPE]==0){
        //↑メッセージ処理   ↑画面をクリア     ↑入力状態を保存       ↑ESCが押されていない
    DrawGraph(0,0,haikei[0],TRUE);

        DrawBox( 0, 70 , 645 , 75 , color[0] ,TRUE);
        DrawLine( 90 , 0 , 90 , 480 , color[2] );
        DrawLine( 240 , 0 , 240 , 480 , color[3] );
        DrawLine( 395 , 0 , 395 , 480 , color[4] );
        DrawLine( 550 , 0 , 550 , 480 , color[5] );
    
    
    
    
    
        ScreenFlip();
    }
 
    DxLib_End();
    return 0;
} 

アバター
kimuchi
記事: 163
登録日時: 9年前
住所: 東京

Re: 背景が表示されない

#2

投稿記事 by kimuchi » 9年前

gazou1();
これは画像読み込みの関数ですよね?
DrawGraph(0,0,haikei[0],TRUE);
の後に来るのはおかしくないですか?
同様に色情報読み込みのload();もですが。

とりあえずプロセスループ以前で描画は必要ないかと思われますが・・・。

卒業したい

Re: 背景が表示されない

#3

投稿記事 by 卒業したい » 9年前

gazou1();やload();は
前回の質問で教わったやりかたで

load();は出来て表示されました
でも今回は、同じ用量で画像表示もしたのですが
表示がされないんです

>とりあえずプロセスループ以前で描画は必要ないかと思われますが・・・。
はい。今は出来るかどうか試しているだけなので・・・

アバター
Ciel
記事: 252
登録日時: 9年前

Re: 背景が表示されない

#4

投稿記事 by Ciel » 9年前

まずグラフィックハンドルはちゃんとしたものが入ってるのでしょうか?
oui C'est la Vie♪

卒業したい

Re: 背景が表示されない

#5

投稿記事 by 卒業したい » 9年前

よく見たら場所指定にミスがあったみたいです・・・

なので直したら動きました^^;
ありがとうございました!

閉鎖

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