? Microsoft utvecklade sin XNA programvara för att hjälpa utvecklare att skapa videospel för Xbox 360- konsoler och Windows-datorer . XNA hanterar alla aspekter av video spelprogrammering , inklusive acceptera input från styrenheten som spelaren manipulerar sina joysticks och knappar . Controller uppgifter tar två olika former , analoga och digitala . Analoga data tar på ett kontinuerligt intervall av värden , digital information är diskret . Operation
När du spelar ett spel , använder du både analoga och digitala kontroller . En Xbox 360 controller , till exempel , har " pinne" kontroller som skickar analoga data genom en rad fram - back och höger - vänster positioner . En enda ståndpunkt består av två siffror : en längs höger - vänster axel och en annan längs dess fram - back axel . Digitala kontroller , å andra sidan , har diskreta tillstånd , till exempel " på " eller "av ". Tryckknappar på den digitala styrenheten utgående data. För att hjälpa spelutvecklare , inkluderar XNA programvara objekt som har multivärde variabler för analog ingång och specifika värden för digital ingång .
Controls
Xbox Regulatorn har 10 digitala och fyra analoga kontroller . De digitala kontroller inkluderar on- off switchar som vänster och höger triggers , stötfångare och knappen GUIDE . Den D - pad är en digital kontroll som har fyra diskreta värden : upp , ner, vänster och höger . Regulatorn har två analoga stick kontroller, som var och en kan du ange en plats i ett XY-planet . När man klämmer en trigger kontroll , den har en kontinuerligt variabel effekt genom dess rörelseområde . Förutom Xbox , fungerar XNA på PC spel programvara . På datorn , digitala kontroller inkluderar tangentbordet och musknappar . Varje tangent på tangentbordet är antingen upp eller ner , musknapparna klickas eller inte . Musens fram - back och vänster - höger rörelser utgör analoga data .
Programmering
att använda Xbox -konsolens stick analog ingång i ett program med hjälp av XNA , du ange ThumbSticks objektet . Den har egenskaper " vänster" och " höger ", som identifierar pinnen , och " X " och " Y " som innehåller höger-vänster och framåt - bakåt axelvärden , som följande kod visar :
stickLeftX = currentState.ThumbSticks.Left.X ; stickLeftY = currentState.ThumbSticks.Left.Y ; stickRightX = currentState.ThumbSticks.Right.X ; stickRightY = currentState.ThumbSticks.Right.Y ;
Analoga kontroller producerar numeriska värden använder du i ditt program . Ditt program testar tillståndet hos en digital kontroll och utför åtgärder beroende på resultatet av testet , eftersom denna kodrad visar:
p Om ( GamePad.GetState ( PlayerIndex.One ) Buttons.A == ButtonState . . Pressad ) abc = 1 ;
i det här exemplet , när Player One trycker på knappen "A" på sin regulator , sätter programmet variabeln " abc " till ett värde av ett. Observera att " A " är en egenskap hos " Buttons " samling objekt .
Applications
spelprogram , singel - parameter analoga kontroller bestämmer varierande mängder såsom hastigheten på en racerbil eller kraften bakom en baseball tonhöjd . Stick kontroller kan du ställa in en rörlig del och en riktning , så att du kan använda pinnen för att " styra " en rymdfarkost och bestämma dess hastighet . Den D - pad kontroll kan ställa en riktning , men är digital , inte kan ställa in en hastighet eller annan variabel parameter . Knappen kontroller, även digitala , utlösa olika händelser , till exempel att starta ett spel eller visa en karta .