当たり判定を実装しようとしたんですが、うまくいきません。
ゲームプログラミングの館のs11を参考にしましたが、反応がありません。
質問ばかりだとバグ取り能力が育たないんだろうな・・・orz
↓プログラムコード
//コードが長すぎて投稿できないので前板参照「弾の描画について 2」 int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){ Ziki.x =320; //自機に座標を代入 Ziki.y =240; Ziki.hp =Zhp; Ziki.Mhp=Zhp; Teki[0].x =640; Teki[0].y =120; Teki[0].hp =Thp; Teki[0].Mhp=Thp; int Ziki_image[Z_image],Teki_image[T_image],Count; if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1; //ウィンドウ化と初期化処理 ///////////////////////////////////////////////////////////////////////// SetDrawScreen(DX_SCREEN_BACK); //裏画面に設定 LoadDivGraph("Ziki.png",2,2,1,20,26,Ziki_image); //画像を読み込ませる LoadDivGraph("Teki.png",2,2,1,20,26,Teki_image); for(int i=0; i<Tamax; i++){ Tama.Flag =0; Tama.x =Ziki.x; Tama.y =Ziki.y; T_Tama.TFlag=0; T_Tama.x =Teki[0].x; T_Tama.y =Teki[0].y; } int Range=Ziki.Range+Teki[0].Range; ///////////////////////////////////////////////////////////////////////// while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){ int X=Ziki.x-Teki[0].x,Y=Ziki.y-Teki[0].y; int Red=GetColor(255,0,0),Blue=GetColor(0,255,255); Ziki. Range=7; Tama[Tamax]. Range=2; Teki[0]. Range=7; T_Tama[Tamax].Range=2; fps(); //fpsを固定&表示 count++; wait_fanc(); if(Teki[0].x> -30)Teki[0].x-=10; if(Teki[0].x==-30)Teki[0].x=800; if(Key[KEY_INPUT_LEFT]==1) Ziki.x-=4; if(Key[KEY_INPUT_UP]==1) Ziki.y-=4; if(Key[KEY_INPUT_RIGHT]==1) Ziki.x+=4; if(Key[KEY_INPUT_DOWN]==1) Ziki.y+=4; if(X*X+Y*Y<Range*Range){ //ココ DrawCircle(30,30,100,Red,TRUE); } Shot_Tama(); for(int i=0; i<Tamax; i++){ if(Tama.Flag==1){ if(Tama.y>0)Tama.y-=T_Speed; else Tama.Flag=0; DrawCircle(Tama[i].x,Tama[i].y,ZRange,Blue,TRUE); } } Shot_T_Tama(); for(int i=0; i<Tamax; i++){ if(T_Tama[i].TFlag==1){ if(T_Tama[i].y<500)T_Tama[i].y+=Teki_Speed; else T_Tama[i].TFlag=0; DrawCircle(T_Tama[i].x,T_Tama[i].y,TRange,Red,TRUE); } } DrawCircle(Ziki.x+7,Ziki.y+11,Ziki.Range,Red,TRUE ); DrawCircle(Teki[0].x+7,Teki[0].y+10,Teki[0].Range,Red,TRUE); //DrawBox (50,400,150,405,GetColor(255,255,255),FALSE); バグってるので放置してる //DrawBox (51,400,51+Zhp*Ziki.hp/Ziki.Mhp,405,GetColor(255,255,255),TRUE ); DrawGraph (Ziki.x,Ziki.y,Ziki_image[0],TRUE ); DrawGraph (Teki[0].x,Teki[0].y,Teki_image[0],TRUE); ScreenFlip(); } ///////////////////////////////////////////////////////////////////////// DxLib_End() ; // DXライブラリ使用の終了処理 return 0 ; // ソフトの終了 }