LouiZeForum

3D vrml
 
HomeHome  FAQFAQ  SearchSearch  RegisterRegister  MemberlistMemberlist  UsergroupsUsergroups  Log in  3Dchats / forums3Dchats / forums  

Share | 
 

 Encore des exemples

View previous topic View next topic Go down 
AuthorMessage
alain
fondateur
fondateur
avatar

Number of posts : 23073
Localisation : Dompierre sur Veyle ,France
Registration date : 2005-04-19

PostSubject: 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/
Back to top Go down
View user profile
alain
fondateur
fondateur
avatar

Number of posts : 23073
Localisation : Dompierre sur Veyle ,France
Registration date : 2005-04-19

PostSubject: 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 PHP 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/
Back to top Go down
View user profile
 
Encore des exemples
View previous topic View next topic Back to top 
Page 1 of 1
 Similar topics
-
» Infos section: tutoriels et exemples
» Banque d'exemples C++
» [Ressources] Banque d'exemples Game Maker
» Le positionnement géographique
» Première construction diapo

Permissions in this forum:You cannot reply to topics in this forum
LouiZeForum :: ARTS :: 3D art :: Script-
Jump to: