UrhoSharp Windows 지원UrhoSharp Windows support

플랫폼 특정 기능을 활용 하려는 동안 Urho 이식 가능한 클래스 라이브러리 이며, 게임 논리에 대 한 다양 한 플랫폼에서 사용할 동일한 API를 사용 하면 여전히 초기화 해야 Urho 플랫폼 특정 드라이버에 일부 경우, .While Urho is a portable class library, and allows the same API to be used across the various platform for your game logic, you still need to initialize Urho in your platform specific driver, and in some cases, you will want to take advantage of platform specific features.

페이지 아래에서 가정 MyGame 의 서브 클래스는 Application 클래스.In the pages below, assume that MyGame is a subclass of the Application class.

지원 되는 아키텍처: 64 비트 Windows입니다.Supported architectures: only 64bit Windows.

이 사용 하는 방법을 보여 주는 전체 예제를 볼 수는 샘플You can see complete examples showing how to use this in our samples

독립 실행형 프로젝트Standalone project

프로젝트 만들기Creating a project

콘솔 프로젝트를 만들고 Urho NuGet 참조를 찾을 수 있습니다 자산 (데이터 디렉터리를 포함 하는 디렉터리) 있는지 확인 합니다.Create a Console project, reference the Urho NuGet and then make sure that you can locate the assets (the directories containing the Data directory).

구성 및 Urho 시작Configuring and launching Urho

응용 프로그램을 시작 하려면이 수행 합니다.To launch your application, do this:

DesktopUrhoInitializer.AssetsDirectory = "../Assets";
new MyGame().Run();

예제Example

전체 예제Complete example

WPF로 통합Integrated with WPF

프로젝트 만들기Creating a project

WPF 프로젝트를 만들고 Urho NuGet 참조를 찾을 수 있습니다 자산 (데이터 디렉터리를 포함 하는 디렉터리) 있는지 확인 합니다.Create a WPF project, reference the Urho NuGet and then make sure that you can locate the assets (the directories containing the Data directory).

구성 및 WPF에서 Urho 시작Configuring and launching Urho from WPF

서브 클래스를 만든 Window 및 다음과 같은 자산을 구성 합니다.Create a subclass of Window and configure your assets like this:

    public partial class MainWindow : Window
    {
        Application currentApplication;

        public MainWindow()
        {
            InitializeComponent();
            DesktopUrhoInitializer.AssetsDirectory = @"../../Assets";
            Loaded += (s,e) => RunGame (new MyGame ());
        }

        async void RunGame(MyGame game)
        {
            var urhoSurface = new Panel { Dock = DockStyle.Fill };
            WindowsFormsHost.Child = urhoSurface;
            WindowsFormsHost.Focus();
            urhoSurface.Focus();
            await Task.Yield();
            var appOptions = new ApplicationOptions(assetsFolder: "Data")
                {
                    ExternalWindow = RunInSdlWindow.IsChecked.Value ? IntPtr.Zero : urhoSurface.Handle,
                    LimitFps = false, //true means "limit to 200fps"
                };
            currentApplication = Urho.Application.CreateInstance(value.Type, appOptions);
            currentApplication.Run();
        }
    }

예제Example

전체 예제Complete example

UWP와 통합Integrated with UWP

프로젝트 만들기Creating a project

UWP 프로젝트를 만들고 Urho NuGet 참조 찾을 수 있는지 자산 (데이터 디렉터리를 포함 하는 디렉터리) 있는지 확인 합니다.Create a UWP project, reference the Urho NuGet and then make sure that you can locate the assets (the directories containing the Data directory).

구성 및 Urho UWP에서 시작Configuring and launching Urho from UWP

서브 클래스를 만든 Window 및 다음과 같은 자산을 구성 합니다.Create a subclass of Window and configure your assets like this:

    {
        InitializeComponent();
        GameTypes = typeof(Sample).GetTypeInfo().Assembly.GetTypes()
            .Where(t => t.GetTypeInfo().IsSubclassOf(typeof(Application)) && t != typeof(Sample))
            .Select((t, i) => new TypeInfo(t, $"{i + 1}. {t.Name}", ""))
            .ToArray();
        DataContext = this;
        Loaded += (s, e) => RunGame (new MyGame ());
    }

    public void RunGame(TypeInfo value)
    {
        //at this moment, UWP supports assets only in pak files (see PackageTool)
        currentApplication = UrhoSurface.Run(value.Type, "Data.pak");
    }
}

예제Example

전체 예제Complete example

Windows Forms를 사용 하 여 통합Integrated with Windows Forms

프로젝트 만들기Creating a project

Windows Forms 프로젝트를 만들고 Urho NuGet 참조를 찾을 수 있습니다 자산 (데이터 디렉터리를 포함 하는 디렉터리) 있는지 확인 합니다.Create a Windows Forms project, reference the Urho NuGet and then make sure that you can locate the assets (the directories containing the Data directory).

구성 및 Urho Windows.Forms에서 시작Configuring and launching Urho from Windows.Forms

폼에서 Urho 시작, 참조 전체 샘플Launch Urho from your form, see Complete Sample