*   >> Lese Utdanning Artikler >> science >> programming

Bli kjent med Irrlicht 3D-motor - User Interface

Last ned demoen og kildekode

TILBAKE TIL TUTORIAL INDEX

En grei GUI er obligatorisk for nesten alle PC-spill i disse dager. Jeg husker hva jeg big deal det var da den opprinnelige Unreal spillet hadde en innebygd nettverk spillet leseren; til det punktet, de fleste spill brukt et eksternt program for å finne og lansering nettverksspill.

Irrlicht har en meget dyktig GUI system som inngår i den, sammen med en enkel GUI editor. Vi vil bruke denne editoren første til å lage et enkelt brukergrensesnitt.

Kjør GUIEditor.

exe søknad fra Irrlicht bin \\ Win32-Visual Studio-mappen i Irrlicht SDK. Ved å høyreklikke i vinduet du kan deretter legge GUI-kontroller.


I skjermbildet nedenfor har vi lagt 4 knapper.


I GUI redigeringsvinduet sørge for at hver knapp har en unik ID, som kan endres i kategorien Element. Høyreklikk i redigeringsvinduet igjen, og klikk på Lagre. Du vil nå ha en fil som heter guiText.xml.


IrrlichtEngineManager.h /IrrlichtEngineManager.

cpp

For enkel vil vi legge til en funksjon på IrrlichtEngineManager kalt GetGUIEnvironment at avkastningen pekeren til Irrlicht GUI miljø

Vi trenger. også å tegne GUI miljø i gjengi loop. Vi legger et kall til IGUIEnvironment drawAll funksjon etter scenen manager har blitt trukket, noe som vil sikre at de grafiske kontrollene øverst i 3D-scene.

ApplicationManager.h /ApplicationManager.cpp

Den ApplicationManager nå utvider IEventReceiver klassen. Dette gjør det mulig å motta Irrlicht hendelsen gjennom OnEvent funksjonen.


Legge GUI XML-filen vi laget med redaktøren er så enkelt som å ringe IGUIEnvironment loadGUI funksjonen.

For å motta hendelser fra Irrlicht, som inkluderer GUI arrangementer, samt flere commone hendelser som tastaturtrykk eller musebevegelsen, vi kaller den IrrlichtDevice setEventReceiver funksjon, og pass på dette som første parameter.

Inne i OnEvent funksjon vi må sjekke til to typer arrangementer. Den første er definert av EET_GUI_EVENT konstant. Dette indikerer at brukeren har samhandlet med GUI. Vi sjekker da å se om det var et knappetrykk.

Hvis så vi identifisere knappen som ble trykket av ID som vi tildelt det i GUI editor, skjule GUI, og starte tilsvarende demo.

Hvis Escape-tasten ble trykket vi shutdown dagens demo og vise GUI igjen.

Resten av koden i ApplicationManager bare starte de samme demoer som er lagt fram i tid

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lese Utdanning Artikler,https://utdanning.nmjjxx.com All rights reserved.