Question>
window mode에서만 game을 돌게 하고 싶음.
그런데, F11이나 alt + enter를 누르면 full screen mode로 전환됨.
매번 window mode로 바꾸게 해도 저것들을 누르면 또 전체화면이 됨.
base -nput에도 관련 option이 없음.
항상 window mode로만 game이 실행 되게 하고 싶은데, 방법이 있는가?
-------------------------------------------------------------
Answer>
2가지 방법이 가능하겠습니다.
1>쉽게 하는 방법.
GameViewportClient class에 IsFullScreenViewport()를 이용해서
full screen mode과 window mode를 탐지하는 timer를 만듭니다.
그 timer에서 full screen mode가 감지 되면,
(즉, 말씀하시는 F11이나 alt + enter를 누르는 상황이 발생하면)
다시 window mode로 전환해 주시면 되겠습니다.
위 내용을 대략 source로 작성하면 아래와 같습니다.
예>
class MyPlayerController extends PlayerController;
function TestTimer()
{
if( LocalPlayer( player ).viewportClient.IsFullScreenViewport() )
ConsoleCommand( "setres 1024x768w" );
}
simulated event PostBeginPlay()
{
super.PostBeginPlay();
SetTimer( 1.0f, TRUE, nameof( TestTimer ) );
}
전환을 감지해서, 다시 처리하는게 좀 매끄럽지는 않지만..^^;;;;
이 방법은 쉬우면서, UDK에서도 쓸 수 있는 방법입니다.^^
2>완벽하게 하는 방법.
GameViewportClient class를 님이 원하시는데로,
full screen mode 전환을 막도록 재작성하시고,
그 다음에 DefaultEngine.ini를 수정하시면 됩니다.^^
재정의한 class의 이름이 'MyGameViewportClient'라면
아래와 같이 수정하시면 되겠습니다.
[Engine.Engine]
GameViewportClientClassName=MyGameViewportClient
이 경우에는 GameViewportClient class의 source가 필요하므로,
UDK에서는 불가능하고요.^^;;;;;;
full license의 unreal engine에서만 가능합니다.
처하신 상황에 맞게 선택하셔서, 해결하시기 바랍니다.^^
Tag:
안기훈, Kee Hoon Ahn, Unreal, UDK, iPhone, iPad, app, 앱, iOS