ページ 11

日本語入力を行うと、3D表示に異常が発生します。

Posted: 2014年4月01日(火) 09:34
by HI魔神
・KeyInputSingleCharString
・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;
}

Re: 日本語入力を行うと、3D表示に異常が発生します。

Posted: 2014年4月01日(火) 11:07
by softya(ソフト屋)
詳しく調べてませんが、なにかレンダーステートの問題のようなので、とりあえずSetDrawScreen( DX_SCREEN_BACK );をInput後に加えてみたら表示されるようになりました。
詳しいところは、ご本家で質問された方が良いように思います。

Re: 日本語入力を行うと、3D表示に異常が発生します。

Posted: 2014年4月01日(火) 20:44
by HI魔神
ありがとうございます。解決しました。
それで本家というのはどういうものなのでしょうか?
よろしければURLでも貼ってくださるとありがたいのですが。

Re: 日本語入力を行うと、3D表示に異常が発生します。

Posted: 2014年4月01日(火) 20:47
by softya(ソフト屋)
HI魔神 さんが書きました:ありがとうございます。解決しました。
それで本家というのはどういうものなのでしょうか?
よろしければURLでも貼ってくださるとありがたいのですが。
「DXライブラリ置き場 HOME」
http://homepage2.nifty.com/natupaji/DxLib/
DXライブラリを配布されている方の掲示板って事です。

DXライブラリプログラム&プログラム質問掲示板(スレッド表示)
で質問してください。