Page 1 sur 1

Probleme de rotation SPRITE3D...

Publié : dim. 24/avr./2011 13:40
par pajotter
Bonjour à tous,

J'ai un problème avec mon nouveau jeu de cartes.
Quand je utilise les 'SPRITE3D',
et je utilise la rotation, les carte (sprites) ce déplaces avec 34 px vers le haut. ??
Seulement quand je la tourne a 0.0 deg. la carte (sprite) est sur la bonne place (posX et posY).

Code : Tout sélectionner

Code:
   Start3D()
      angle.f = 0.0
      DisplaySprite3D(Card_1, 100, 100)
      ZoomSprite3D(Card_1, 60, 93)
      RotateSprite3D(Card_1, angle, #PB_Absolute)

      angle = 1.0
      DisplaySprite3D(Card_2, 100, 100)
      ZoomSprite3D(Card_2, 60, 93)
      RotateSprite3D(Card_2, angle, #PB_Absolute)

      angle = 10.0
      DisplaySprite3D(Card_3, 100, 100)
      ZoomSprite3D(Card_3, 60, 93)
      RotateSprite3D(Card_3, angle, #PB_Absolute)

      angle = 25.0
      DisplaySprite3D(Card_4, 100, 100)
      ZoomSprite3D(Card_4, 60, 93)
      RotateSprite3D(Card_4, angle, #PB_Absolute)
   Stop3D()
Et voici une photo (design)

Image


Q2) J'ai aussi utiliser la 'rotate sprite 3D' 0...360 deg.
La carte en bas est 0.0 deg, après 1.0 deg, 10.0 deg et 25.0 deg.

Dans le monde cest 0.0, -1.0, -10.0, -25.0 deg.
Constatation, les rotation est an rotation d'une montre.
Est-ce que cet normal ??


Tester en PB 4.51 et 4.60 avec le même résultats.

Merci beaucoup,
Sorry, pour mon français...

Marc,

Re: Probleme de rotation SPRITE3D...

Publié : dim. 24/avr./2011 13:59
par djes
You shouldn't use #PB_Absolute while using ZoomSprite(). Second, please post a fully functional code (with GFX) if you want help, because most of us don't have time to just recreate a new project for every question :)

Re: Probleme de rotation SPRITE3D...

Publié : dim. 24/avr./2011 17:48
par case
il faut impérativement des sprites de même dimensions horizontales et verticales lors de l'utilisation de la fonction rotatesprite3D()
le décalage est due au fait que pure basic change la taille du sprite pour la rotation.

when using rotatesprite3D() you must use sprites with equal width and height.
the shifting effect is due to the fact that width and height are not equal and pure basic make ths sprite square before rotating it.

Re: Probleme de rotation SPRITE3D...

Publié : lun. 25/avr./2011 10:42
par pajotter
Bonjour,

@djes
Mon programme est trop longe en total, c'est pour ça.
Je vais écrire un petit programme la prochaine fois.

@case
Vous avez raisons, les sprites n'est pas en carre.
J'ai comprise, la positionnement ce fais au coin (haut/gauche) des sprite,
et la rotation ce fais au centre du sprite.

Merci vous deux pour votre réponses.

Voici le résultat,

Image

Marc,

Re: Probleme de rotation SPRITE3D...

Publié : lun. 25/avr./2011 16:48
par case
content d'avoir aidé a résoudre un problème :)