KWEngine, Teil 1: Erstellen des Projekts

KWEngine basiert auf dem .NET-Framework und verweist auch auf ein paar native Bibliotheken, die nicht in C# geschrieben sind.

Was ist zu tun?

Schritt 1:
Erstellen Sie ein .NET-Framework-Konsolenprojekt in der Version 4.5 oder höher!

Schritt 2:
Laden Sie KWEngine herunter!

https://www.kwengine.de/download.php

Schritt 3:
Entpacken Sie die heruntergeladene ZIP-Datei in ein temporäres Verzeichnis!

Schritt 4:
Kopieren Sie die Dateien aus dem Unterverzeichnis libraries in den Projektordner Ihres in Schritt 1 erstellten Konsolenprojekts!

Schritt 5:
Öffnen Sie ihr Konsolenprojekt in Visual Studio und…

  • Navigieren Sie zum Projektmappen-Explorer und klicken Sie mit der rechten Maustaste auf den Projektnamen innerhalb der Projektmappe. Wählen Sie aus dem Kontextmenü dann „Hinzufügen“ -> „Verweis“.
  • Drücken Sie die Schaltfläche „Durchsuchen“ und fügen Sie die DLL-Dateien AssimpNet.dll, KWEngine2.dll, glTFLoader.dll, Newtonsoft.Json.dll und OpenTK.dll ihrem Projekt als Verweise hinzu.
  • Klicken Sie anschließend mit der rechten Maustaste erneut auf den Projektnamen und wählen Sie „Hinzufügen“ -> „Vorhandenes Element“ und wählen Sie im daraufhin erscheinenden Dialog die beiden Dateien assimp.dll und OpenAL32.dll aus.
  • Da assimp.dll und OpenAL32.dll keine C#-Bibliotheken sind, können sie im Projekt nicht als Verweise hinzugefügt werden. Stattdessen muss dafür gesorgt werden, dass sie beim Erstellen des Projekts in den Ausgabeorder kopiert werden. Deshalb markieren Sie diese beiden Dateien im Projektmappen-Explorer und wählen für die selektierten Dateien im Eigenschaften-Fenster für die Eigenschaft „In Ausgabeverzeichnis kopieren“ den Wert „Kopieren, wenn neuer“.

Schritt 6:
Erstellen Sie die benötigte Klassenstruktur

GameWorld.cs

using KWEngine2;
using KWEngine2.Helper;
using KWEngine2.Collision;
using KWEngine2.GameObjects;
using OpenTK;
using OpenTK.Input;

namespace YourNamespaceHere
{
    class GameWorld : World
    {
        public override void Act(KeyboardState ks, MouseState ms)
        {

        }
        
        public override void Prepare()
        {

        }
    }
}

GameWindow.cs

using KWEngine2;
using KWEngine2.Helper;
using KWEngine2.Collision;
using KWEngine2.GameObjects;
using OpenTK;
using OpenTK.Input;

namespace YourNamespaceHere
{
    class GameWindow: GLWindow
    {
       public GameWindow()
            :base(1280, 720, OpenTK.GameWindowFlags.Default, 0, true)
        {
            GameWorld gwInstance = new GameWorld();
            SetWorld(gwInstance);
        }
    }
}

Program.cs

using KWEngine2;
using KWEngine2.Helper;
using KWEngine2.Collision;
using KWEngine2.GameObjects;
using OpenTK;
using OpenTK.Input;

namespace YourNamespaceHere
{
    class Program
    {
        static void Main(string[] args)
        {
            GameWindow gw = new GameWindow();
            gw.Run();
            gw.Dispose();
        }
    }
}

Schritt 7:
Stellen Sie in den Projekteigenschaften Ihres Projekts den Projekttyp von „Konsolenanwendung“ auf „Windows-Anwendung“ um.


Fertig! Ihr Projekt ist eingerichtet.
Alle Binärdateien (z.B. Texturen, 3D-Modelle, usw.), die dem Projekt hinzugefügt werden, müssen ebenfalls so konfiguriert werden, dass sie ins Ausgabeverzeichnis kopiert werden. Andernfalls findet die kompilierte Anwendung sie nicht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.