Probleme de rotation SPRITE3D...

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
pajotter
Messages : 4
Inscription : dim. 24/avr./2011 11:29
Localisation : Pajottenland Belgium

Probleme de rotation SPRITE3D...

Message 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,
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Probleme de rotation SPRITE3D...

Message 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 :)
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Re: Probleme de rotation SPRITE3D...

Message 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.
ImageImage
pajotter
Messages : 4
Inscription : dim. 24/avr./2011 11:29
Localisation : Pajottenland Belgium

Re: Probleme de rotation SPRITE3D...

Message 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,
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Re: Probleme de rotation SPRITE3D...

Message par case »

content d'avoir aidé a résoudre un problème :)
ImageImage
Répondre