Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να εμψυχώσει το XNA

Το XNA Game Studio ( XNA ) είναι ένα περιβάλλον προγραμματισμού που αναπτύχθηκε από τη Microsoft που σας βοηθά να δημιουργήσετε πολύπλοκα παιχνίδια για υπολογιστές , κινητά τηλέφωνα και κονσόλες Xbox μέσα από το Visual Studio 2010 πλατφόρμα προγραμματισμού . Εμψύχωση ξωτικά και τα μοντέλα σε XNA είναι σημαντική, διότι μια απλή , κινούμενα σχέδια , δύο διαστάσεων ( 2 - D ) sprite κάνει μια μεγάλη διαφορά, όταν μπορείτε να το συμπεριλάβει στα παιχνίδια σας . Τα πράγματα που θα χρειαστείτε
Visual Studio 2010
A 256 × 64 υφή που περιέχει τέσσερα πλαίσια του ίδιου μεγέθους .
Η Εμφάνιση Περισσότερες οδηγίες
Η

1 Ανοίξτε το Visual Studio 2010 και να πάει με τον κατασκευαστή του παιχνιδιού XNA του . Δημιουργήστε ένα νέο στιγμιότυπο της κλάσης " AnimatedTexture " χρησιμοποιώντας αυτό το δείγμα κώδικα :

ιδιωτικό SpriteTexture AnimatedTexture ? Ιδιωτικό const float περιστροφή = 0 ? Ιδιωτικό Κλίμακα const float = 2.0f ? Ιδιωτικό Βάθος const float = 0.5f ? δημόσια Game1 ( ) {

SpriteTexture = νέα AnimatedTexture ( Vector2.Zero , περιστροφή , κλίμακα , βάθος ) ? # αν ZUNETargetElapsedTime = TimeSpan.FromSeconds ( 1 /30,0 ) ? # endif }

Σημείωση ότι ο ρυθμός καρέ θα πρέπει να είναι 30 καρέ ανά δευτερόλεπτο ( fps ) , αν σκοπεύετε να χρησιμοποιήσετε το animation σας στο Zune . Σε αυτό το παράδειγμα , " (0,0) " είναι η καταγωγή υφής . Η υφή του δεν έχει καμία περιστροφή , είναι σε μια κλίμακα από «2» και έχει βάθος " 0.5 ". 2

Τοποθετήστε την υφή που περιέχει τα τέσσερα πλαίσια και το χωρίσετε σε καρέ κινούμενης εικόνας από χρησιμοποιώντας αυτό το δείγμα κώδικα :

ιδιωτικού παράθυρο viewport ? ιδιωτικού Vector2 objPos ? ιδιωτικού int const Πλαίσια = 4 ? ιδιωτικό const int FramesPerSec = 2 ? προστατεύεται LoadContent παράκαμψη void ( ) { spriteBatch = νέα spriteBatch ( GraphicsDevice ) ? SpriteTexture . φορτίο ( Περιεχόμενο , " objectanimated " , Κουφώματα , FramesPerSec ) ? παράθυρο = graphics.GraphicsDevice.Viewport ? shipPos = νέα Vector2 ( viewport.Width /2 , viewport.Height /2 ) ? }

Η " AnimatedTexture τάξη " φορτώνει την υφή και την ελκύει σε πλαίσια . Αυτό το παράδειγμα αντλεί δύο καρέ ανά δευτερόλεπτο , για δύο δευτερόλεπτα . Αντικαταστήστε το " objectanimated " με το όνομα του sprite περιουσιακό στοιχείο σας .
Εικόνων 3

Προσδιορίστε τα πλαίσια animation για να εμφανιστεί με τη μέθοδο της "Ενημέρωση" . Χρησιμοποιήστε αυτόν τον κωδικό ως παράδειγμα : .

Προστατεύεται Ενημέρωση παράκαμψη άκυρη ( GameTime Gametime ) { float παρέλθει = ( float ) gameTime.ElapsedGameTime.TotalSeconds ;//Προσθέστε παιχνίδι λογικής σας εδώ

SpriteTexture . UpdateFrame ( που πέρασε ) ? base.Update ( GAMETIME ) ? } public void UpdateFrame ( float παρέλθει ) { εάν ( Παύση ) επιστροφή? TotalElapsed + = παρέλθει ? εάν ( TotalElapsed > TimePerFrame ) { Frame + + ? Frame = Πλαίσιο % framecount ? TotalElapsed - = TimePerFrame ? } }

μέθοδο " UpdateFrame " η AnimatedTexture παραλαμβάνει τα παρέλθει δευτερόλεπτα μεταξύ των ενημερωμένων εκδόσεων και χειρίζεται την εμφάνιση των διαφορετικών πλαισίων
Η 4

Σχεδιάστε το ξωτικό στο παιχνίδι του . " Ισοπαλία" μέθοδο , χρησιμοποιώντας τη λειτουργία " SpriteBatch.Draw " στο " AnimatedTexture " αντικείμενο . Χρησιμοποιήστε αυτό το δείγμα κώδικα για να επιστήσει την σωστή υποορθογώνιο της υφής περιέχει ένα ξωτικό :

προστατεύεται Ισοπαλία παράκαμψη άκυρη ( GameTime Gametime ) { GraphicsDevice.Clear ( Color.CornflowerBlue ) ;//Προσθέστε τον κωδικό σχέδιό σας εδώ

spriteBatch.Begin ( ) ? SpriteTexture.DrawFrame ( spriteBatch , objPos ) ? spriteBatch.End ( ) ? base.Draw ( GAMETIME ) ? } public void DrawFrame ( spriteBatch παρτίδα , Vector2 screenPos ) { DrawFrame ( παρτίδα , Πλαίσιο , screenPos ) ? } public void DrawFrame ( SpriteBatch παρτίδα , το πλαίσιο int , Vector2 screenPos ) { int FrameWidth = myTexture.Width /framecount ? ορθογώνιο sourcerect = νέο ορθογώνιο ( FrameWidth * πλαίσιο, 0 , FrameWidth , myTexture.Height ) ? batch.Draw ( myTexture , screenPos , sourcerect , Color.White , Περιστροφή , Origin, Κλίμακα , SpriteEffects.None , βάθος ) ? }
5

Μεταγλώττιση και την κατασκευή του έργου . Όταν εκτελείτε το πρόγραμμα , θα δείτε το animation που δημιουργήθηκε με τα τέσσερα καρέ από την αρχική υφή σας .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα