なんだか意味不明ですけど一応解決しました・・・。
上書きはしてません。
ソースをお見せします。
18行目くらいのintでたくさん宣言してある所の、
ohmozi[2] と sirusi に問題の画像のハンドルを
その少し下の行で代入しています。
jankensirusi.png が表示されなくなった画像で、
jankeno&hmozi.pngが新しく取り入れた画像です。
「//←コレ」というのが4つ見つかったらひとまず、下にまだ文章がありますので読んでください。
#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 WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1; //初期化処理
int siro = GetColor(255,255,255) ,
gazou[6] , syoubumozi[4] , ohmozi[2] //←コレ ,
taitoru , sirusi //←コレ, syoubu , startmozi ,
sx = 170 , sxs , sy = 260 , tz = 1 , mcount = 0 , smcount = 0 ,
zibun = -1 , aite = -1 , hantei = -1 ;
SetDrawScreen( DX_SCREEN_BACK ); //裏画面に設定
sirusi = LoadGraph("jankensirusi.png");//←コレ
taitoru = LoadGraph("jankentaitoru.png");
syoubu = LoadGraph("jankensyoubu.png");
startmozi= LoadGraph("jankenstartmozi.png");
LoadDivGraph("jankente.png" ,6,3,2,64 ,64,gazou);
LoadDivGraph("jankensyoubumozi.png",4,2,2,200,50,syoubumozi);
LoadDivGraph("jankeno&hmozi.png" ,2,1,2,150,50,ohmozi);//←コレ
double t = GetNowCount();
while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll_2(Key) && !Key[KEY_INPUT_ESCAPE]){
//↑メッセージ処理 ↑画面をクリア ↑キーボード入力状態取得 ↑ESCが押されていない
//~~~~~~~~~~タイトル処理~~~~~~~~~~~~
if(tz == 1 || tz == 2){
DrawGraph(0,0,taitoru,FALSE);
DrawGraph(sx,sy,sirusi,TRUE );
}
sxs --;
if(sx < 170)
sxs += 7;
sx += sxs;
if(tz == 1 || tz == 2){
if(Key[KEY_INPUT_UP ] == 1){
sy = 260;
tz = 1;
}
if(Key[KEY_INPUT_DOWN] == 1){
sy = 330;
tz = 2;
}
}
if(tz == 1 && Key[KEY_INPUT_SPACE] == 1 )
tz = 3;
if(tz == 2 && Key[KEY_INPUT_SPACE] == 1 )
tz = 4;
//----------------------------------
if(tz == 3){
//~~~~~~~~STARTの処理~~~~~~~~~~
SetDrawBlendMode( DX_BLENDMODE_ALPHA , 255 ) ;
if(mcount < 100)
SetDrawBlendMode( DX_BLENDMODE_ALPHA , 150 ) ;
DrawGraph(0,0,syoubu,FALSE);
mcount +=1 ;
if(mcount < 100){
SetDrawBlendMode( DX_BLENDMODE_ALPHA , 255 ) ;
DrawExtendGraph(170-mcount,221-mcount , 170+mcount+300,221+mcount+38, startmozi,TRUE);
SetDrawBlendMode( DX_BLENDMODE_ALPHA , 150 ) ;
}
//----------------------------------
//時間測定、表示
double time = (GetNowCount() - t) /1000;
DrawFormatString(0,0,siro,"%f",time);
//~~~たたいて、かぶって、じゃんけんの文字表示処理~~~
if(mcount > 100){
smcount +=4 ;
if(smcount < 200)
DrawExtendGraph(0 ,400 , smcount ,400 +50, syoubumozi[0],TRUE);
if(smcount > 200 && smcount < 400)
DrawExtendGraph(100,430 , smcount-100,430 +50, syoubumozi[1],TRUE);
if(smcount > 400 && smcount < 600)
DrawExtendGraph(200,415 , smcount-200,415 +50, syoubumozi[2],TRUE);
if(smcount > 600 && smcount < 800){
SetDrawBright(255 , 255-(smcount-600) , 255-(smcount-600) );
DrawExtendGraph(220+(smcount-600)/2,400 , 420-(smcount-600)/2,400+50 ,syoubumozi[3],TRUE);
SetDrawBright(255,255,255);
}
if(smcount < 600 && (Key[KEY_INPUT_Z]==1 || Key[KEY_INPUT_X]==1 || Key[KEY_INPUT_C]==1) );
DrawGraph(245,200,ohmozi[0],TRUE);
//テスト用にスペースを押せばsmcountが0になるようにする
if(Key[KEY_INPUT_SPACE]==1)
smcount = 0;
//-------------------------------------------------
if(smcount > 600 && smcount < 800){
//自分の手を決める
if(Key[KEY_INPUT_Z]==1)
zibun = 0; //グー
if(Key[KEY_INPUT_X]==1)
zibun = 1; //チョキ
if(Key[KEY_INPUT_C]==1)
zibun = 2; //パー
//相手の手を決める
if(Key[KEY_INPUT_Z]==1 || Key[KEY_INPUT_X]==1 || Key[KEY_INPUT_C]==1)
aite = GetRand(2);
//判定する
if(zibun==0 && aite==0)
hantei = 0; // あいこ
if(zibun==1 && aite==1)
hantei = 0; // あいこ
if(zibun==2 && aite==2)
hantei = 0; // あいこ
if(zibun==0 && aite==1)
hantei = 1; // かち
if(zibun==1 && aite==2)
hantei = 1; // かち
if(zibun==2 && aite==0)
hantei = 1; // かち
if(zibun==0 && aite==2)
hantei = 2; // まけ
if(zibun==1 && aite==0)
hantei = 2; // まけ
if(zibun==2 && aite==1)
hantei = 2; // まけ
if(zibun==0)
DrawGraph(225,230,gazou[0],TRUE);
if(zibun==1)
DrawGraph(225,230,gazou[1],TRUE);
if(zibun==2)
DrawGraph(225,230,gazou[2],TRUE);
if(aite==0)
DrawGraph(345,230,gazou[3],TRUE);
if(aite==1)
DrawGraph(345,230,gazou[4],TRUE);
if(aite==2)
DrawGraph(345,230,gazou[5],TRUE);
if(hantei==0)
DrawString(292,260,"あいこ",siro);
if(hantei==1)
DrawString(292,260," かち",siro);
if(hantei==2)
DrawString(292,260," まけ",siro);
}//if(smcount > 600)
}//if(mcount > 100)
}//if(tz == 3)
ScreenFlip();//裏画面を表画面に反映
}
DxLib_End();
return 0;
}
色々試してみたんですけど、奇妙な事に、
ohmozi[2]をohmozi[1]にするとsirusiの画像がちゃんと表示されるんですよね・・・。
それとsirusiの位置を最後尾のhantei = -1 の後に変えると、ちゃんと表示されるんです。
これは何が原因なんでしょうか?