2010-10-16 13 views
0

J'essaie de développer mon premier et simple jeu vidéo. J'utilise SDL.NET (wrapper .NET du célèbre SDL) et C#.Enveloppe SDL.NET: comment faire pivoter un sprite?

Je suis en train de tourner mon sprite (ma « voiture ») lorsque l'utilisateur appuie sur tableau vers le bas, jusqu'à tableau .. J'utilise quelque chose comme

this.Surface = this.Surface.CreateRotatedSurface(90); 

Mais ça marche pas! J'ai erreur sur l'écran ... :(

Je sais que je peux utiliser quelque chose comme

this.Surface = new Surface("my-sprite-right.png") // for right 

ou this.surface = new surface ("my-sprite-left.png") // pour la gauche

mais je n'aime pas cette solution ...

Est-ce que quelqu'un sait comment gérer "rotation" de sprite?

Merci!

+0

SDL 1.2 ou 1.3? – genpfault

+0

Je pense que c'est 1.2 – stighy

+0

Qu'est-ce que c'est exactement "erreur à l'écran"? – genpfault

Répondre

0

Je ne t sais pas si vous avez une réponse sur celui-ci déjà, mais quand u Faites pivoter votre voiture je crois u doit le faire comme ceci:

  1. Créer une nouvelle instance de sprite comme Surface myCarRotated = myCar.CreateRotatedSurface (int 90, vrai);
  2. Blit Ensuite, la nouvelle surface à votre écran
  3. appeler Enfin votre méthode video.Update() pour rafraîchir l'écran

Depuis la voiture sera fortement transformé (Eh bien, principalement la rotation et la vitesse), il vaut mieux écrire toute votre logique dans une méthode séparée bien.

Notez que les rotations sont lourdes sur votre CPU, vous voudrez peut-être envisager de créer vos images de rotation d'une feuille de sprite comme expliqué ici: http://egonrath.eg.funpic.de/old/sdl/sdlnet.html#clipblitting

Mais je ne pense pas qu'il sera question trop de nos jours, aussi longtemps que vous Ne pas avoir 1000 voitures en rotation.

Je n'ai pas beaucoup d'expérience avec sdl.net mais je l'aime vraiment. J'ai essayé quelques moteurs de jeu C# et j'adore ça. Actuellement, je suis en train de construire (en essayant de construire) une application qui suit les positions des joueurs lors d'un match en direct Unreal Tournament. Type d'application de type mini-carte.

Bonne chance!

Questions connexes