Aktuelle Zeit: 29.03.2024, 06:55

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: [.Net CP] Tutorial 01: Hello World
BeitragVerfasst: 02.10.2007, 16:53 
Offline
Benutzeravatar

Registriert: 28.06.2007, 18:26
Beiträge: 54
Wohnort: München
Tutorial 1: Hello World !

Willkommen zum ersten Tutorial von der Irrlicht .Net CP.
Dieses Tutorial stammt vom anfang aus dieser Seite.
Und wurde von mir in das Deutsch übersetzt.

Dieses Tutorial soll zeigen wie ihr eine MD2 Animation ladet.
Und des weiteren werden wir einen Kleine Text am Fenster rand
ausgeben das "Hello World" Lautet.

Das ganz wird dann am ende so ausschauen
Bild

Als aller erstes fügen wir unserer "Using" variablen ein.

Code:
using System;
using System.Collections.Generic;
using System.Text;
using IrrlichtNETCP;
using IrrlichtNETCP.Inheritable;


Dann folgt Namespace,Klasse, und die üblich "main" funktion.

Code:
namespace Tutorial01
{
    class Tutorial01
    {
        static void Main(string[] args)
        {



Die wichtigste Funktion ist die "createDevice" Funktion
Sie bestimmt die Eigenschaften der Irrlicht Anwendung. In
Dieser Example( Beispiel ) wird der Renderer "EDT_SOFTWARE"
benutz aber sie können auch anderer Renderer benutzen !
Bennen sie einfach "EDT_SOFTWARE" in EDT_NULL, EDT_DIRECTX8
oder EDT_OPENGL .

Bei der windowSize also "Windows Auflösung" wird bestimmt
wie groß bzw. wie breit die Irrlicht Anwendung sein soll
in diesen Example( Beispiel ) werden wir die werte 512x384.

Bits, bestimmt die Farbtiefe der Irrlicht Anwendung, das
weren (16 oder 32) der Parameter "Bits" wird ignoriert wenn
die Irrlicht Anwendung nicht im Vollbildmodus ist.

( Fullscreen ) Vollbildmodus
Bestimmt ob die Irrlicht Anwendung im Vollbildmodus starten
soll oder nicht, stand art mäßig ist der Vollbildmodus aus-
geschaltet.

Der Parameter "stencilbuffer" sorgt dafür das Schatten Pro-
doziert bzw. gezeichnet werden.

Gibt an, ob vsync aktiviert bzw. deaktiviert ist Dieser Pa-
rameter kann man nur im Vollbildmodus benutzen.

eventReceiver: Ein Objekt, welches die Events empfngt.
In diesen Example( Beispiel ) werden wir in nicht benutzen
deshalb schalten wir in aus also "0".

Code:
            IrrlichtDevice device = new IrrlichtDevice(DriverType.Software,
                                                    new Dimension2D
                                                    (512, 384), // Auflösung
                                                    32,           // Die Farbtiefe
                                                    false,        // Fullscreen
                                                    true,         // stencilbuffer
                                                    true,         // vsync
                                                    true);        // eventReceiver


Jetzt stellen wir den Fenstertitel ein.
Code:
device.WindowCaption = "Hello World !";


Hier stellen wir die von irrlicht mitgelieferte Irrlicht Media Verzeichnis an.
Code:
device.FileSystem.WorkingDirectory = "../../media";


Damit wir nicht jedes mal z.B. extra "device.VideoDriver" schreiben
müssen können wir das mit dieser netten Funktion etwas
verkürzen. Das wir z.B. bloß "driver" schreiben müssen.
Code:
VideoDriver driver = device.VideoDriver;
SceneManager smgr = device.SceneManager;
GUIEnvironment guienv = device.GUIEnvironment;


Hier wird unser Text geaddet das "Hello World" lautet.
Und des weiteren wird die Position und größe des Textes
fest gestellt.
Code:
guienv.AddStaticText("Hello World!",
new Rect(new Position2D(10, 10), new Dimension2D(200, 22)), true,
false, guienv.RootElement, -1, false);


Das laden des Meshes wird hier bestimmt, un zwar
ist das die "sydney.md2" die auch im Screen hot
zu sehen ist.
Code:
AnimatedMesh mesh = smgr.GetMesh("sydney.md2");
AnimatedMeshSceneNode node = smgr.AddAnimatedMeshSceneNode(mesh);


Jetzt braucht unsere animation natürlich auch noch eine
Textur ! Die lautet "sydney.bmp"

Code:
if (node != null)
{
       node.SetMaterialFlag(MaterialFlag.Lighting, false);
       node.SetFrameLoop(0, 310);
       node.SetMaterialTexture(0, driver.GetTexture("sydney.bmp"));
}



Hinzufgen der Camera
Code:
CameraSceneNode cam = smgr.AddCameraSceneNode(smgr.RootSceneNode);
cam.Position = new Vector3D(0, 30, -40);
cam.Target = new Vector3D(0, 5, 0);


Jetzt nur noch alles rendern.

Code:
while (device.Run())
{
               
                driver.BeginScene(true, true, new Color
                (255, 100, 101, 140));  //Hintergrund Farbe

                smgr.DrawAll();
                guienv.DrawAll();
                driver.Draw3DTriangle(new Triangle3D(
                new Vector3D(0, 0, 0),
                new Vector3D(10, 0, 0),
                new Vector3D(0, 10, 0)),
                Color.Red);

                driver.EndScene();
}



Zuguter letzt wird das Irrlicht device gelert.
Code:
device.Dispose();


Und danach kommt das ende von Namespace,Klasse, und der main schleife.
Code:
        } // Ende der Main Schleife

    } //Ende der Klasse

} //Ende von Namespace


Bild
Das ganze gibt es auch in Quellcode


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de