Browser
Interface : Exemple 3
Dans cet exemple nous affichons le nombre d'images par secondes
(fps = frames per seconds) affichées par le navigateur VRML. Pour
ce faire nous utilisons la méthode getCurrentFrameRate
de l'objet Browser.
Source:
#VRML
V2.0 utf8
#-
KDO : Browser Interface
#-
Demo : getCurrentFrameRate
#------------------------------------
NavigationInfo
{
}
DirectionalLight
{
}
Shape
{
appearance
Appearance {
material
DEF COULEUR
Material {}
}
geometry
DEF MyText
Text {
string
"Informations"
fontStyle
FontStyle {
}
}
}
#--------------------------------------
#
Ce script affiche :
#
Le nombre d'images/secondes
#--------------------------------------
DEF
MyScript Script
{
eventIn
SFFloat Time
eventOut
MFString Infos
url
"javascript:
function
Time()
{
Infos[0]
= Browser.getCurrentFrameRate()
Infos[0]
= Infos[0].substring(0,4)
Infos[0]
+= ' Images/s.'
}
"
}
DEF
Timer TimeSensor
{
loop
TRUE
cycleInterval
4
}
DEF
COL_INT ColorInterpolator
{
key
[ 0 0.5 1 ]
keyValue
[ 0 0 1,1 1 0,0 0 1
]
}
#-----
Changement de couleur
ROUTE
Timer.fraction_changed
TO COL_INT.set_fraction
ROUTE
COL_INT.value_changed
TO COULEUR.set_diffuseColor
#-----
Appel du script
ROUTE
Timer.fraction_changed
TO MyScript.Time
ROUTE
MyScript.Infos
TO MyText.string
Analyse:
Nous attirons votre attention sur l'utilisation de la méthode
substring (méthode des objets string)
qui nous permet ici de limiter l'affichage du nombre de fps à 4
caractères.