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

Moteurs 3D Discussion :

[TrueVision3D] Charger un autre modele en VB


Sujet :

Moteurs 3D

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Points : 17
    Points
    17
    Par défaut [TrueVision3D] Charger un autre modele en VB
    Bonjour, je voudrai dans un bouton afficher dans mon monde 3D un second acteur à des coordonées fixées. ça ne marche pas, rien 'apparait aux coordonnées indiquées. Ais je oublié quelque chose ? voici le code contenu dans mon bouton en visual basic. Merci pour votre aide.

    Private Sub Command7_Click()
    GB.SetSearchDirectory App.Path
    Dim autreman2 As TVActor
    Set autreman2 = New TVActor
    'charge les autres persos
    autreman2.Load "..\ressources3D\Media\gs.mdl"
    autreman2.SetSpeed 1
    autreman2.SetAnimation 0
    autreman2.SetRotation 0, 90, 0
    autreman2.SetScale 0.6, 0.6, 0.6
    autreman2.SetPosition 588, 118, 390
    autreman2.Render 'montre le perso
    End Sub

  2. #2
    Membre actif Avatar de ShadowTzu
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juin 2005
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Juin 2005
    Messages : 243
    Points : 296
    Points
    296
    Par défaut
    rolala le travail

    dans un moteur 3d (ou 2d) tout les objets/sprites etc.. à dessiner sur l'écran doivent être appelé dans la boucle de rendu.
    Car après chaque frame (image) la scene est effacée et redessinée.
    Donc ici, tu demande à dessiner ton "autreman2" dans l'évenement click de ton bouton, c'est a dire qu'au click du bouton ton perso ce dessine MAIS est tout de suite effacé mais n'est pas redessiné car ton bouton a fini son job.
    Et de plus il ne faut pas confondre les fonction d'initialisation, et de rendu, les lignes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     GB.SetSearchDirectory App.Path
    Dim autreman2 As TVActor
    Set autreman2 = New TVActor
    'charge les autres persos
    autreman2.Load "..\ressources3D\Media\gs.mdl"
    ne doivent être appelées qu'une fois. Enssuite les lignes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     autreman2.SetSpeed 1
    autreman2.SetAnimation 0
    autreman2.SetRotation 0, 90, 0
    autreman2.SetScale 0.6, 0.6, 0.6
    autreman2.SetPosition 588, 118, 390
    Servent à changer les propriété de ton perso elles peuvent être appelé plusieurs fois.

    Puis pour dessiner ton perso il faut toujours appeler autreman2.Render à chaque frame.

    Pour par exemple dessiner ou non ton perso en cliquant sur ton bouton, ajoute une nouvelle variable dans ton formulaire (tout au dessus de ton code source):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Private Montre_Moi As Boolean
    puis ajoute ton "autreman2.Render" avec une variable boolean ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TV3D.Clear
    [...]
    if Montre_Moi=true then autreman2.Render
    [...]
    TV3D.RenderToScreen
    et dans ton bouton ajoute simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Private Sub Command7_Click()
    if Montre_Moi=false then
        Montre_Moi=true
    else
        Montre_Moi=false
    end if
    End Sub

  3. #3
    mat.M
    Invité(e)
    Par défaut
    Oui tout à fait sans vouloir paraphraser mon prédecesseur ShadowTzu il faut utiliser des booléens.
    Dans une appli 3d le rendu doit tourner constamment

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Points : 17
    Points
    17
    Par défaut cool
    Merci beaucoup, ça fonctionne à présent

Discussions similaires

  1. lecteur mp3 : charger un autre son
    Par sjwkzn dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 17/08/2009, 00h14
  2. Charger entierement le model d'un jTree au lancement
    Par mlmidmani dans le forum Composants
    Réponses: 1
    Dernier message: 04/02/2008, 16h38
  3. quel script pour dire de charger une autre version du site si IE6
    Par Anonyme1 dans le forum Webdesign & Ergonomie
    Réponses: 8
    Dernier message: 12/12/2007, 17h25
  4. Réponses: 2
    Dernier message: 18/06/2006, 13h36
  5. [HTML] comment annuler un frameset ou en charger un autre?
    Par igorzup dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 22/02/2006, 11h10

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