・KeyInputNumber
・KeyInputString
上の3つの関数のどれかを使用した後に3D描画(DrawLine3D,DrawModel(pmx) )をすると、カメラにある程度以上近いものが表示されません。
SetCameraNearFar( 0.01, 400.0 ) のように書いて近くを描画するようにしても駄目でした。
ここに書くのは数値入力の関数ですが、日本語・アルファベットも同様の現象が起こります。
カメラの値を変えても同様です。
どうしたら近くのものも描画されるのでしょうか?
#include "DxLib.h"
void DrawStage(){
for( int i = -200; i <= 200; i += 10 ){
if( i != 0 ){
DrawLine3D( VGet( i, 0.01, -200 ), VGet( i, 0.01, 200 ), GetColor(255,255,255) );
DrawLine3D( VGet( -200, 0.01, i ), VGet( 200, 0.01, i ), GetColor(255,255,255) );
}
}
VECTOR Pos1 = VGet( 500,0,0 );
VECTOR Pos2 = VGet( -500,0,0 );
VECTOR Pos3 = VGet( 0,500,0 );
VECTOR Pos4 = VGet( 0,-500,0 );
VECTOR Pos5 = VGet( 0,0,500 );
VECTOR Pos6 = VGet( 0,0,-500 );
DrawLine3D( Pos1, Pos2, GetColor( 255, 0, 0 ) ) ;
DrawLine3D( Pos3, Pos4, GetColor( 0, 255, 0 ) ) ;
DrawLine3D( Pos5, Pos6, GetColor( 0, 0, 255 ) ) ;
}
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); //ウィンドウモード変更と初期化と裏画面設定
KeyInputNumber( 0 , 16 , 640 , 0 , FALSE ) ;
SetCameraNearFar( 1, 1000 );
while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){
DrawStage();
SetCameraPositionAndTarget_UpVecY( VGet(30, 20, 30), VGet(0,0,0) );
}
DxLib_End(); // DXライブラリ終了処理
return 0;
}