IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 3 Discussion :

Faire tourner une sphere avec Papervision3D


Sujet :

ActionScript 3

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 97
    Points : 38
    Points
    38
    Par défaut Faire tourner une sphere avec Papervision3D
    Bonjour,

    Je débute avec Papervision et je n'ai pas trouvé de tutoriel qui m'aide vraiment à faire ce que je veux. Je voudrai avoir une sphère (ça je sais faire) et lorsque je maintiens le bouton de la souris et que je déplace le curseur, ça fasse tourner la sphère dans le sens où je bouge la souris. Je pense que le plus simple est d'utiliser la caméra mais j'ai pas trouvé grand chose niveau aide sur l'utilisation de la caméra. Pour résumer le but c'est un peu de faire comme sur une macmonde, de la faire tourner sur elle même.

    J'ai pas trop envie de faire du bricolage et je voudrai faire ça proprement, alors on peut toujours se débrouiller mais je pense qu'il doit y avoir un moyen simple de faire ça avec papervision!

    Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 73
    Points : 99
    Points
    99
    Par défaut
    Pour faire tourner la sphère sur elle même, utilise la propriété rotationY que tu incrémentes ou décrémentes selon le sens du mouvement de la souris.

    un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    addEventListener(MouseEvent.MOUSE_MOVE, rotation);
     
    function rotation(e:MouseEvent):void{
       //tu verifie le sens du mouvement, puis tu fais
       ma_sphere.rotationY += 5;
    }

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 97
    Points : 38
    Points
    38
    Par défaut
    Merci pour ta réponse,

    En fait c'est un peu ce que j'avais fait au départ, mais je me demandais si c'était la meilleure manière de procéder et si je ne réinventais pas la roue mais d'après ce que tu mes dis ça doit bien être comme ça. J'ai néanmoins besoin d'une précision. J'ai fait comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     
    private function moveSphere(e:Event):void
    {
    	oldMouseX = mouseX;
    	addEventListener(MouseEvent.MOUSE_MOVE, moveEventHandler);
    	addEventListener(MouseEvent.MOUSE_UP, stopMove);
    }
     
    private function moveEventHandler(e:Event):void
    {
    	if(oldMouseX > mouseX) {
    		sphere.rotationY += 2; 	
    	}
    	else {
    		sphere.rotationY -= 2;
    	}
    	oldMouseX = mouseX;
     
    }
    Ici j'enregistre la position de mouseX avant le déplacement et je teste ensuite.Est-ce une bonne manière de faire?

    Merci

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 73
    Points : 99
    Points
    99
    Par défaut
    Oui, cette méthode me semble correcte, mais je supprimerais le oldMouseX=mouseX; dans la fonction moveEventHandler, il n'est pas forcément utile vu que tu le réaffectes après dans moveSphere.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 97
    Points : 38
    Points
    38
    Par défaut
    Très bien, merci pour ton aide!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. faire tourner une appli .NET avec une référence manquante
    Par Nico57 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/03/2012, 15h36
  2. Faire tourner une application avec SQL SERVER sans SQL SERVER
    Par devvanjier dans le forum Windows Forms
    Réponses: 5
    Dernier message: 27/09/2010, 20h36
  3. Réponses: 3
    Dernier message: 07/10/2009, 16h05
  4. faire tourner une query avec condition de jour
    Par benvanbelgie dans le forum ODS et reporting
    Réponses: 3
    Dernier message: 19/06/2009, 11h06
  5. Faire tourner une sphere
    Par harris_macken dans le forum OpenGL
    Réponses: 9
    Dernier message: 26/06/2006, 08h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo