그래서 게임 사이트의 "뉴스"페이지에 브라우저가있는 양식을 만들었습니다. 그것은 "Start Game"과 "Level Editor"라는 2 개의 버튼을 가지고 있습니다.XNA 게임을 시작하기 전에 양식을 시작하십시오
"시작 게임"이 DialogResult = Yes
이고 "레벨 편집기"가 DialogResult = No
인 경우이 버튼을 클릭했는지 확인하려면 현재 DialogResult
을 사용하고 있습니다. 그래, 그게 못생긴 해결책이지만 Application.Run(newsForm);
으로 작동하게 만들 수 없었습니다. newsForm
클래스 외부의 버튼 클릭을 확인하는 방법을 알지 못했기 때문입니다. 내 XNA 프로젝트의
Program.cs : 내 NewsForm
디자이너에서
[STAThread]
private static void Main()
{
Application.EnableVisualStyles();
using (var newsForm = new NewsForm())
{
if (newsForm.ShowDialog() == DialogResult.Yes)
{
using (var game = new Game1())
{
game.Run();
}
newsForm.Dispose();
}
else if (newsForm.ShowDialog() == DialogResult.No)
{
using (var editor = new EditorForm())
{
Application.Run(editor);
newsForm.Dispose();
}
}
}
}
나는 적절한 값으로 버튼의 DialogResult
속성을 설정합니다. 하지만 또 다른 문제가 있습니다 :
"게임 시작"을 클릭하면 XNA 양식이 올바르게 표시되고 NewsForm
이 닫힙니다. 그러나 "레벨 편집기"를 클릭하면 양식이 닫히고 다시 열리는 것처럼 보입니다 ... 버튼을 다시 클릭하여 editor
양식을 시작해야합니다. 그리고 "Start Game"을 클릭하면 게임이 종료됩니다. 그게 DialogResult
에 의한 것이라고 확신합니다.
- 그것은 대화가 아닌 형태의
- 버튼은 의미하지 않는다 :
나는 내가하고 있어요 방법이 있기 때문에, 확실히 올바른 디자인 현명하지 않다, 위에서 말했듯이 무엇
DialogResult
또는 사용자가 어떤 아이디어가 있다면 그들에게 내가 함께, 위의 설명하거나 (선호)ShowDialog
없이, 나는 감사하게 될 거라고 무엇을 달성 할 수있는 방법
그래서 의미 것으로 기대하고있다.
작품. –