//自分をボタンにあわせて進める
if(CheckHitKey(KEY_INPUT_A)==1){
MYZ-=7.0f*cos(DRazianX-90.0f/180.0f*PHI_F);
MYX+=7.0f*sin(DRazianX-90.0f/180.0f*PHI_F);
lif=1;
}else{
lif=0;
}
if(CheckHitKey(KEY_INPUT_D)==1){
MYZ-=7.0f*cos(DRazianX+90.0f/180.0f*PHI_F);
MYX+=7.0f*sin(DRazianX+90.0f/180.0f*PHI_F);
rif=1;
}else{
rif=0;
}
if(CheckHitKey(KEY_INPUT_W)==1){
MYZ+=7.0f*cos(DRazianX);
MYX-=7.0f*sin(DRazianX);
uif=1;
}else{
uif=0;
}
if(CheckHitKey(KEY_INPUT_S)==1){
MYZ-=7.0f*cos(DRazianX);
MYX+=7.0f*sin(DRazianX);
dif=1;
}else{
dif=0;
}
blockath[0]=MV1CollCheck_Capsule(blockModel,0,VGet(MYX,MYY,MYZ),VGet(MYX,MYY+80.0f,MYZ),5.0f);
if(blockath[0].HitNum==1){
if(lif==1){
MYZ+=7.0f*cos(DRazianX-90.0f/180.0f*PHI_F);
MYX-=7.0f*sin(DRazianX-90.0f/180.0f*PHI_F);
}
if(rif==1){
MYZ+=7.0f*cos(DRazianX+90.0f/180.0f*PHI_F);
MYX-=7.0f*sin(DRazianX+90.0f/180.0f*PHI_F);
}
if(uif==1){
MYZ-=7.0f*cos(DRazianX);
MYX+=7.0f*sin(DRazianX);
}
if(dif==1){
MYZ+=7.0f*cos(DRazianX);
MYX-=7.0f*sin(DRazianX);
}
}
MV1SetPosition(blockModel,VGet(600.0f,300.0f,600.0f) ) ;
MV1DrawModel(blockModel);
自分をボタンですすめてモデルに貫通しないようにもでるにあたったら
戻すというプログラムをかいているんですが
貫通してしまうのです
どこがまちがっているんでしょうか?
これは3Dのゲームのプログラムの一部です