Microsoft ontwikkelde haar XNA software om ontwikkelaars te helpen bij het maken van video games voor de Xbox 360-consoles en Windows-pc's . XNA behandelt alle aspecten van de video game programmeren , zoals het accepteren van input van de controller als de speler manipuleert haar joysticks en knoppen . Controller data neemt twee verschillende vormen , analoog en digitaal . Analoge data neemt op een continue reeks waarden ; digitale informatie is discreet . Operatie Als je een video game te spelen , zowel analoge als digitale bediening gebruikt u . Een Xbox 360 -controller , bijvoorbeeld, heeft " stok " controles die voeren analoge data via een reeks forward - back en rechts-links posities . Een enkele positie bestaat uit twee getallen : een langs de rechts-links as en een andere langs de forward - back as . Digitale bediening , aan de andere kant , hebben discrete toestanden , zoals " on" of " off . " Drukknoppen op de controller uitgang digitale gegevens . Om game-ontwikkelaars te helpen , XNA bevat software objecten die meerdere waarden variabelen voor analoge ingang en de specifieke waarden voor digitale ingang hebben . Controls De Xbox controller heeft 10 digitale en vier analoge bediening . De digitale controles omvatten aan-uit schakelaars , zoals links en rechts triggers , bumpers en de gids -toets . De D - pad is een digitale besturing, die vier discrete waarden heeft : omhoog, omlaag , links en rechts . De controller heeft twee analoge stick controls , die elk laat u een locatie in een XY-vlak opgeven . Wanneer u een trigger controle knijpen , het heeft een continu variabele effect door zijn bereik van de beweging . In aanvulling op de Xbox , XNA werkt op PC game software . Op de PC , digitale controles omvatten het toetsenbord en de muis knoppen . Elke toets op het toetsenbord is ofwel omhoog of omlaag ; muisknoppen zijn niet geklikt of . Forward - achter en links - rechts beweging van de muis vormen analoge data . Programmeren Om de Xbox- console stok analoge ingang in een programma met behulp van XNA , gebruiken u het object thumbsticks opgeven . Het heeft de eigenschappen "Links" en " rechts ", die de stok te identificeren , en " X " en "Y " , die de as waarden rechts-links en voorwaarts - achterwaarts bevatten , zoals de volgende code illustreert : stickLeftX = currentState.ThumbSticks.Left.X ; stickLeftY = currentState.ThumbSticks.Left.Y ; stickRightX = currentState.ThumbSticks.Right.X ; stickRightY = currentState.ThumbSticks.Right.Y ; analoge controls veroorzaken numerieke waarden die u gebruikt in uw programma. Uw programma test de toestand van een digitale controle en voert acties afhankelijk van de uitkomst van de test , als deze lijn van code shows : if ( GamePad.GetState ( PlayerIndex.One ) Buttons.A == ButtonState . . Pressed ) abc = 1 ; In dit voorbeeld , wanneer een speler drukt op de " A " op zijn controller , stelt het programma de variabele " abc" op de waarde van een. Merk op dat " A " is een eigenschap van de " knoppen " collectie object . Toepassingen In spelprogramma's , single- parameter analoge controls bepalen variabele hoeveelheden , zoals de snelheid van een race auto of de kracht achter een honkbalveld . Stick regelaars laten je een variabel bedrag en een richting aangeven , zodat u de stick gebruiken om " sturen" een ruimtevaartuig en zijn bepalend voor de snelheid . De D - pad besturing kan een richting aangeven , maar , het zijn digitale , niet kan instellen een snelheid of andere variabele parameters . De knoppen , ook digitaal , trigger diverse evenementen , zoals het starten van een spel of het weergeven van een kaart .
|