3次元上にある敵の座標EnemyPositionが、画面から消えた時の処理をしたく、下記のコードを作ってみたのですがイマイチうまく判定されません。
コード:
VECTOR ScreenPos = ConvWorldPosToScreenPos(EnemyPosition);
if(0.0f > ScreenPos.z || ScreenPos.z > 1.0f){
if(0.0f> ScreenPos.x || ScreenPos.x > X_WINDOWSIZE){
if(0.0f> ScreenPos.y || ScreenPos.y > Y_WINDOWSIZE){
//画面外に敵が居る!!
}
}
}
ちなみに、此方の敵が画面内に存在する、という判定は正常に判定できました。
もしかしたら表面化してないだけで画面外でも処理を行ってしまってるかもしれませんが・・・
コード:
VECTOR ScreenPos = ConvWorldPosToScreenPos(EnemyPosition);
if(0.0f < ScreenPos.z && ScreenPos.z < 1.0f){
if(0.0f < ScreenPos.x && ScreenPos.x < X_WINDOWSIZE){
if(0.0f < ScreenPos.y && ScreenPos.y < Y_WINDOWSIZE){
//画面内に敵が居る!!
}
}
}