Accueil > Forum > > > > Creation dynamique d'objets
Creation dynamique d'objets
dimanche 11 juin 2006 à 21:49:34 |
Creation dynamique d'objets

mi12ox
|
Bonjour, je suis entrain de realiser un petit raytracer et je me trouve en face d'un petit problème lors du chargement de la scène. j'ai un fichier .ini qui contient les infos concernant la lumière, la caméra et surtout les différents objets qui se trouvent sur la scène. j'aimerais que mon prog crée dynamiquement mes objets (sans savoir combien ils seront et de quels types). je précise: j'aurai par exemple dans mon ini la description d'un cube , un plan, deux triangles et un sphère. j'aimerais pouvoir créer un objet de chaque dans mon programme. je ne veut que créer des objets dont les classes sont définies à l'avance. j'ai pensé à un truc du genre: for i=1 to nombredobjets if type=sphère then dim objet(i) as sphere elseif type=cube then dim objet(i) as cube elseif ... end if next une fois ces ojets crées je n'aurai pas de blème pour les exploiter, mais c'est la création qui plante, il me dit qu'il attend une constante. je suis sous vb 6. quelque un aurait il une petite idée? merci d'avance amicalement miro
|
|
lundi 12 juin 2006 à 09:26:37 |
Re : Creation dynamique d'objets

Polack77
|
Heeeeeee, tout dabort je tien à dire que je n'ai pas VB6 sous la main.  Mais il me semble possible de crée des tableaux de taille dynamique avec des types de données personalisés (ce qui n'est pas possible en VBA). Donc si tu crée un type 'objet' (ou même un type 'cube', une type 'plan', ...). Prenons le cas d'un type de donnée identique pour tout les objets (type 'objet') dans le quel tu stoque le type d'obj, sa possition, ... Si tu à ce tableau tu peut re redimentioner avec des exprésion du type "redim <NomTableau> ('Mini' to 'Maxi')" (généralement le mini est '0' mais il est possible de mettre une autre valeur '159' par exemple). ATTENTION le 'redim' tout seul change la taille du tableau ET SUPPRIME LES DONNEES CONTENUE. Il faut donc ajouter dans la commande le mot reserver 'Preserve'. La commande au complet est donc "ReDim Preserve <NomTableau>('Mini' to 'Maxi')". Il me semble qu'il est possible de crée des variable dynamiquement autrement en VB6 mais je ne sais plus command  La déclaration d'un tableau dynamisue est "Dim <NomTableau> () as <TypeObjet>" Dans le cas d'un type 'objet' mais il n'est pas utilisable de suite il faut pour cela déja lui définir une plage (Exemple d'un bout de code :) Public Objet() as ObjetType
Private Sub CréeObj () Redim Objet(0 to 0) Objet(0).Type = "Plan" Objet(0)... Do While Compteur < NombreObjet Compteur = Compteur + 1 Redim Preserve Objet (0 to Compteur) ... Loop End Sub
Pour crée un type de donée (Exemple) : Public Type Personne Nom As String Prénom As String NumSQ As String Adrs As String ... End TypeBon avec ça tu dois pouvoir t'en sortir. Bon courage  D'oh! Nuts!
Mmmmm... DONUTS
|
|
lundi 12 juin 2006 à 09:27:24 |
Re : Creation dynamique d'objets

jrivet
|
Salut, Est ce que c'est cette boucle qui est dans le programme? Si j'ai bien compris: Tu as un seul tableau "objet" pouvant contenir soit une sphere soit un cube. Petit rappel: - Dim c'est pour la déclaration, Si tu veux l'affectation utilise Set. - Je crois que la déclaration selon conditions n'est pas faisable. - Tu ne peux pas utiliser type comme nom de variable remplace le par type_ par exemple. @+, Julien Pensez: Moteur de Recherche, Réponse Acceptée
|
|
lundi 12 juin 2006 à 09:33:45 |
Re : Creation dynamique d'objets
|
lundi 12 juin 2006 à 09:43:47 |
Re : Creation dynamique d'objets

jrivet
|
SAlut, C'était a mi12ox (ton post est arrive le temps de ma réponse) @+, Julien Pensez: Moteur de Recherche, Réponse Acceptée
|
|
lundi 12 juin 2006 à 17:25:09 |
Re : Creation dynamique d'objets

mi12ox
|
merci, mais y a un truc qui me traquace. est-ce que c'est possible de créer un tableau de type Object et de au fur et à mesure des ajouts d'éléments, leur définir un type propre, par exemple sphère, cube, plan... et ainsi ils prenderaient directement les attributs de la classe définie?
désolé si j'ai pas tout compris et si vous m'avez en faite dit que c'était impossible:D
en tout cas merci
miro
|
|
lundi 12 juin 2006 à 17:52:53 |
Re : Creation dynamique d'objets

jrivet
|
Réponse acceptée !
Salut, Oui c'est possible avec un truc qui pourrait être du style:  Dim TabObjet(10) As Object
For i = 1 To nombredobjets If type_ = sphere Then Set TabObjet(i) = New sphere 'sphere doit etre un module de classe ElseIf type_ = cube Then Set TabObjet(i) = New cube 'cube doit etre un module de classe '.... End If Next

Coloration syntaxique automatique [AFCK] 
Le seul truc est de savoir exactement a quel indice sont les cube et les sphere pour utiliser convenablement les différentes méthodes des objets respectifs. Est ce que type (type_) est une variable de ton programme Voila j'espère avoir été clair et avoir pu t'aider un peu @+, Julien Pensez: Moteur de Recherche, Réponse Acceptée
|
|
lundi 12 juin 2006 à 20:09:11 |
Re : Creation dynamique d'objets

mi12ox
|
oui type_ est la variable dans mon fichier .ini qui indique à quel type de forme on a à faire. et si tout objet a une méthode qui porte le meme nom mais qui fonctionne internement différemment ça devrait jouer. par exemple. je lance un rayon et je veux savoir si il y a intersection avec chaque objet ( pas très optimisé, mais ça c'est pour plus tard). si j'ai dans chaque classe(sphère,cube,...) il y a une fonction CalculIntersection( les paramètres de mon rayon) qui renvoie les coordonnées du point d'intersection et le paramètre t, je n'aurai théoriquement pas besoin de savoir à quel type j'ai à faire depuis l'exterieur. sachant que chaque fonction CalculIntersectioin diffère de classe en classe. et puis si je dois savoir à quel type j'ai affaire est-ce que je peux utiliser if TypeOf Objet(i) is Sphère... non? merci je crois que je commence à y voir plus clair.
miro
|
|
mardi 13 juin 2006 à 09:01:52 |
Re : Creation dynamique d'objets

jrivet
|
Salut, Tu as tout à fait raison. Rien à redire à ton dernier post. si ce n'est que tu peux utiliser aussi le TypeName(Objet(i)) @+, Julien Pensez: Moteur de Recherche, Réponse Acceptée
|
|
mardi 13 juin 2006 à 11:29:30 |
Re : Creation dynamique d'objets

mi12ox
|
Merci ça joue tout bon je posterai le code quand il sera fini.
amicalement
miro
|
|
Cette discussion est classée dans : dynamique, objet, creation, cube, objets
Répondre à ce message
Sujets en rapport avec ce message
Creation dynamique d'objets et évènements [ par ksam007 ]
Je voudrais créer dynamiquement dans un Form vide une série de boutons indicés par le nom (Exemple Btn1, Bt2, etc...) et de leurs affecter un évènemen
Creation d'objets [ par gaa179 ]
Bonjour,J'avais commencé à créer mon objet en vb6 et j'ai décidé de le refaire en vb.net.Cette objet doit être utilisé dans d'autre application, type
DataReport : Creation dynamique d objets [ par Rayno79 ]
Salut tous le monde, voila je voudrais savoir comment créer dynamiquement des objets de type text ou label dans un datareport dont la source de donnée
objets et references [ par monsieurlemouche ]
bonjour,j'ai besoin que quelqu'un confirme mon idée.je créée un objet collection de nom "Employes"les objets de la collection sont des objets nommés "
Probleme creation de control dynamique [ par dude666 ]
Voila je creer des radiobutton dynamiquement dans le prerender de ma page. ces control créer, je les rajoute à un tableau et ce tableau est rajouter à
propriete interieure d'un objet 3D [ par monsieurlemouche ]
salut, j'y connais rien à la 3D mais j'aimerais quand même savoir si les objets 3D qui sont modelés par les logiciels dédiés disposent d'une propriété
creation dynamique de boutons et autres controles [ par saintleo ]
Salut, j'aimerais pouvoir créer de manière automatique des controles. En effet j'ai une base de données et je voudrais à partir des données de celle c
Probleme de serialisation d'objet [ par nonosensei ]
Salut tout le monde! J'ai crée un chat en java ( udp ) et j'envoie des objets qui contiennent plusieurs informations dont le texte a envoyer. Jusque l
Probleme de serialisation d'objet [ par nonosensei ]
Salut tout le monde! J'ai crée un chat en java ( udp ) et j'envoie des objets qui contiennent plusieurs informations dont le texte a envoyer. Jusque l
Tableau d'objets [ par LaPatoshe ]
Salut a tous et toutes. Je créé un programme dans lequel un listbox apparait lors de l'appuie sur un bouton. le click de ce bouton après avoir fait ap
Livres en rapport
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|