alain fondateur


Number of posts : 23217 Localisation : Dompierre sur Veyle ,France Registration date : 2005-04-19
 | Subject: Encore des exemples Sat 17 Dec - 20:44 | |
| de tarius sur web3d : - Quote :
#VRML V2.0 utf8
DEF VP Viewpoint { position 0 0 5 }
Group { children [ Shape { geometry Box {} } DEF TS TouchSensor {} ] }
DEF SCR Script { eventIn SFTime TSin eventOut SFVec3f posVP eventOut SFBool bindVP
url "javascript:
function TSin(t) { posVP=new SFVec3f(0,0,10); bindVP=true; } " }
ROUTE TS.touchTime TO SCR.TSin ROUTE SCR.bindVP TO VP.set_bind ROUTE SCR.posVP TO VP.position
_________________ http://mixed3d.net/
|
|
alain fondateur


Number of posts : 23217 Localisation : Dompierre sur Veyle ,France Registration date : 2005-04-19
 | Subject: Re: Encore des exemples Tue 10 Jan - 14:11 | |
| un autre : sur web3d , de - Quote :
athanaze Ecrit le: dimanche 08 janvier 2006, 16:46
J'ai bricolé un truc vite fait, peut être que ça va t'inspirer pour la suite
CODE #VRML V2.0 utf8
########################################################### # On declare un seul proto BALLE qui pourra prendre different type PROTO Ball [ # Le type de balle sous forme d'entier # 0 => tennis # 1 => golf # 2 => foot # 3 => rugby # 4 => basket field SFInt32 type 0 # Le type sous forme de texte renvoye par un clic sur la balle eventOut SFString choice # les classiques translation / rotation pour pouvoir placer et orienter les balles exposedField SFVec3f translation 0 0 0 exposedField SFRotation rotation 0 0 1 0
] #le code du PROTO proprement dit {
DEF ball Transform { translation IS translation rotation IS rotation children [ Shape { geometry Sphere { } appearance Appearance { material DEF mat Material { # materiaux par defaut # La couleur diffuse sera changee dans le constructeur } texture DEF tex ImageTexture { # on defini une texture avec une url vide par défaut url "" } } } DEF ts TouchSensor { } ] } DEF gestionnaire Script { # directives necessaires pour rendre chaque instance de balles independantes mustEvaluate TRUE directOutput TRUE
# l'evenement d'entree : click sur la balle eventIn SFTime click
# definitions des caracteristiques des balles # a modifier selon tes souhaits
# le type sous forme de string (texte) field MFString string_type ["tennis" "golf" "foot" "rugby" "basket" ] # les couleurs par defaut des types de balles field MFColor color [ 1 .85 0, 1 1 1, .5 .5 .5, .4 .2 0 , 1 .4 0] # les tailles par defaut des balles # la taille est appliquee en utilisant le scale de la racine de l'objet balle (noeud Transform) field MFVec3f size [.04 .04 .04 , .0254 .0254 .0254, .22 .22 .22 , .19 .29 .19, .24 .24 .24] # les chemins de textures (à compléter) field MFString textures ["","","","",""] # le type sous forme d'entier field SFInt32 type IS type # liste de noeuds utiliser en interne par le constructeur field MFNode obj [USE ball ,USE mat, USE tex]
# l'evenement de sortie du click, a savoir le type sous forme de texte eventOut SFString choice IS choice
# le script de gestion url "javascript:
// la methode click sur l'objet function click(val){ choice = string_type[type]; }
// le constructeur function initialize(){ // on verifie que le type initial est compris dans la liste des types connu de la classe if (type > string_type.length) type = string_type.length-1; if (type < 0 ) type = 0; // on met l objet a sa taille en fonction du type obj[0].scale = size[type]; // on change la couleur de l objet en fonction du type obj[1].diffuseColor = color[type]; // on s assure que la texture pour ce type est definie if (textures[type]) { // si la texture est definie, on l assigne a l objet en fonction du type obj[3].url = textures[type]; } } " } # routage du touche-sensor vers le gestionnaire interne de la balle ROUTE ts.touchTime TO gestionnaire.click } #FIN du PROTO
############################################################
#PROGRAMME DE TEST
#on cree une balle de chaque type DEF ball1 Ball { translation 0 0 0 type 0 } DEF ball2 Ball { translation .5 0 0 type 1 } DEF ball3 Ball { translation 1 0 0 type 2 } DEF ball4 Ball { translation 1.5 0 0 type 3 } DEF ball5 Ball { translation 2 0 0 type 8 }
#un petit script qui gere les click des differentes balles DEF prog Script { eventIn SFString click url "javascript: function click(val,t){ // ici, je fais juste un affichage du type renvoyé par le clic sur une balle print('Click sur balle de type : '+val+ ' a l\'instant '+t); } " } #on route les click de toutes les balles sur le programmes de gestion de click ROUTE ball1.choice TO prog.click ROUTE ball2.choice TO prog.click ROUTE ball3.choice TO prog.click ROUTE ball4.choice TO prog.click ROUTE ball5.choice TO prog.click
Avantage, il suffit de déclarer une balle en définissant son type !! La couleur, taille et textures sont alors automatiquement crées comme il faut .
oups.... a la réflexion, je me demande si j'ai bien répondu à la question...
On peut envisager d'intéger l'envois de l'information du clic sur une balle vers la base via directement dans le proto, mais je te conseille qu'en même de passer par un script externe ! Comme ça, tu pourra rajouter plus facilement d'autres informations non spécifiques à la balles, tel que nom du joueur, distance de tir, age du capitaine, poids de la tomate
the question was : - Quote :
Salut à tous & bonne année (bon pneu , pour les tired)
bon voila
LA question est la suivante je defini 5 proto
balle 1 (tennis) balle 2 (golf) balle 3 (foot) balle 4 (rugby) balle 5 (basket)
c est 5 balles onront toutes dans leur proto un touchsensor
mais voila je voudrai que la personne puisse choisir quel balle il va cliquer et enregistrer le tipe de balle dans un tableau exemple
tir (1) balle1 tir (2) balle4
ainsi de suite dois je faire un script en vrml ? si oui pouvez vous m aider exemple de ce que je veux faire si la personne prefere tirer dans le but avec un ballon de basket elle reclick sur le ballon et ca ajoute auto dans le tableau les essais fait par le joueur avec le ballon de basket le tout est introduit dans la base avec la methode du transfert d info en direction de php
si vous avez des idées
je met tout ça en archives , hein ,pas d'affolement s'il y a des copyrighters qui passent , c'est juste du rangement............ _________________ http://mixed3d.net/
|
|