Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> C /C + + Programming >> Content
Hoe te animeren in XNA
De XNA Game Studio ( XNA ) is een programmeeromgeving ontwikkeld door Microsoft die u helpt complexe games voor computers , mobiele telefoons en Xbox- consoles uit binnen de Visual Studio 2010 programmering platform te creëren . Animeren sprites en modellen in XNA is belangrijk omdat een eenvoudige , geanimeerde , twee - dimensionale ( 2 - D ) sprite maakt een groot verschil als je het in je games. Wat je nodig hebt
Visual Studio 2010
A 256 × 64 textuur met vier frames van dezelfde grootte .
Toon Meer Aanwijzingen

Open Visual Studio 2010 1 en ga naar constructeur van de XNA game . Maak een nieuw exemplaar van de " AnimatedTexture " class met behulp van deze voorbeeldcode :

prive AnimatedTexture SpriteTexture
; private const float Rotation = 0 ; private const float Schaal = 2.0F ; private const float Diepte = 0.5F ; openbare Game1 ( ) {

SpriteTexture
= new AnimatedTexture ( Vector2.Zero , Rotation , Scale , diepte ) ; # als ZUNETargetElapsedTime = TimeSpan.FromSeconds ( 1 /30,0 ) ; # endif }

notitiekaarten dat de framesnelheid moet 30 frames per seconde ( fps ) als u van plan bent om je animatie te gebruiken op Zune . In dit voorbeeld is " ( 0,0 ) " is oorsprong texture 's . De textuur heeft geen rotatie , is op een schaal van " 2 " en heeft een diepte van " 0.5 . " Kopen van 2

Laad de structuur met de vier frames en verdeel het in animatiekaders door met behulp van deze voorbeeldcode :

prive viewport viewport
; prive vector2 objPos ; private const int Frames = 4 ; private const int FramesPerSec = 2 ; beschermde override void LoadContent ( ) { spriteBatch = new spriteBatch ( GraphicsDevice ) ; SpriteTexture . belasting ( Content , " objectanimated " , Frames , FramesPerSec ) ; viewport = graphics.GraphicsDevice.Viewport ; shipPos = new vector2 ( viewport.Width /2 , viewport.Height /2 ) ; }

" AnimatedTexture " klasse laadt de textuur en trekt het in frames . Dit voorbeeld tekent twee frames per seconde , twee seconden . Vervang " objectanimated " met de naam van uw sprite actief.
3

Bepaal de animatie frames weer te geven met behulp van de "Update " -methode . Gebruik deze code als voorbeeld :

beschermd overschrijven leegte Update ( GameTime GameTime ) { float verstreken = ( float ) gameTime.ElapsedGameTime.TotalSeconds ;//Voeg je spel logica hier

SpriteTexture
. . UpdateFrame ( verstreken ) ; base.Update ( gametime ) ; } public void UpdateFrame ( vlotter verlopen ) {if ( Onderbroken ) return ; TotalElapsed + = verstreken ; if ( TotalElapsed > TimePerFrame ) { Frame + + ; Frame = Frame % framecount ; TotalElapsed - = TimePerFrame ; } }

" UpdateFrame " -methode de AnimatedTexture 's
ontvangt de verstreken seconden tussen de updates en zorgt voor de weergave van de verschillende frames
4

Teken de sprite in het spel . methode "Draw " met behulp van de functie " SpriteBatch.Draw " op de " AnimatedTexture " object . Gebruik deze voorbeeldcode om correcte subrectangle van de textuur met een sprite te tekenen :

beschermd override void Draw ( GameTime GameTime ) { GraphicsDevice.Clear ( Color.CornflowerBlue ) ;//Voeg je tekening code hier

spriteBatch.Begin ( ) ; SpriteTexture.DrawFrame ( spriteBatch , objPos ) ; spriteBatch.End ( ) ; base.Draw ( gametime ) ; } public void DrawFrame ( spriteBatch batch , vector2 screenPos ) { DrawFrame ( batch , Frame , screenPos ) ; } public void DrawFrame ( SpriteBatch batch , int frame, vector2 screenPos ) { int steigerbreedte = myTexture.Width /framecount ; Rectangle sourceRect = new Rectangle ( steigerbreedte * frame, 0 , steigerbreedte , myTexture.Height ) ; batch.Draw ( myTexture , screenPos , sourceRect , Color.white , Rotatie , Oorsprong , Scale , SpriteEffects.None , diepte ) ; }
5

compileren en bouwen van het project . Wanneer u het project uit te voeren , zal je de animatie gemaakt met de vier frames van uw oorspronkelijke textuur te zien .

Previous: Next:
  C /C + + Programming
·Hoe te Strings manipuleren in …
·Hoe te Alfabetisch Strings con…
·Hoe je C Sluit # naar MS Excel…
·Hoe kan ik meerdere lijnen sch…
·Veel voorkomende fouten in Tur…
·PowerShell Objecttypen 
·Hoe maak je een Check Box Colu…
·Turbo C sorteren Methoden 
·Hoe kan ik een CSV-bestand sch…
  Related Articles
Hoe maak je een Combo Box Maak in Visual…
Hoe maak je een Check Box Maak in Visual…
Hoe maak je een tekstvak maken in Visual…
Hoe maak je een optie Box in Visual Basi…
Hoe maak je een schijf keuzelijst in Vis…
Hoe kan ik een keuzelijst maken in Visua…
Hoe kan ik een Picture Box Maak in Visua…
Hoe een bestand keuzelijst Maak in Visua…
Hoe kan ik een afbeelding Box Maak in Vi…
  Programmering Articles
·Hoe maak je een tekstvak Weergeven als V…
·Hoe Business Objects Test 
·Wat doet VBA Stand voor ? 
·Hoe kan ik een variabele lengte in Javas…
·Hoe kan ik Windows Media Player in Javas…
·Hoe om te controleren voor Null Als een …
·Hoe maak je een STRG Vervangen door een …
·Hoe te Bind variabelen op Oracle SQL Set…
·Hoe maak je een Web Project Zorg in Ecli…
Copyright © Computer Kennis http://www.nldit.com