|
Exemples détaillés et documentation
Vous trouverez dans la rubrique "Téléchargements", des exemples pour vous aider à paramètrer AVFlashVR.
La documentation ci-dessous debute par un exemple HTML simple. Ensuite nous étudierons une application PHP, permettant la connexion de AVFlashVR avec une source de données (CSV ou MySQL).
Vous pourrez facilement adapter ces exemples à vos projets de visites virtuelles, et vos galeries panoramiques.
Pour modifier les paramètres, vous aurez juste besoin d'un simple éditeur de texte (notepad++ ou équivalent).
Exemple 1 - Intégration d'un pano dans une page|
Détails des fichiers
Le premier exemple contient les fichiers suivants :

- AVFlashVR.swf: C'est le fichier principal (le moteur) du player.
- index.html: C'est la page qui intègre le player.
- pano.mov : Un panorama au format .mov (QTVR) (AVflashVR peut aussi lire le JPG (6 faces de cube).
- read_me.txt : Documentation.
Balise EMBED
Il est possible d'intégrer AVFlashVR avec une simple balise <embed>, comme toutes les animations Flash.
Dans l'exemple 1, le code de la page index.html affiche le pano, avec seulement 3 paramètres :
- Le nom du fichier pano, passé par la variable panoImage (panoImage=pano.mov).
- Et les dimensions (width="900" et height="450") en pixel.
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="avfvr" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab #version=10,0,0,0" width="900" height="450" align="middle">
<param name="allowScriptAccess" value="always" />
<param name="movie" value="AVFlashVR.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="flashvars" value="panoImage=pano.mov" />
<embed src="/AVFlashVR.swf" quality="high" bgcolor="#ffffff" flashvars="panoImage=pano.mov" width="900" height="450" name="mymovie" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />
</object>
AVFlashVR accepte toutes les dimensions jusqu'a 100% de la page. Il peut aussi s'adapter aux dimensions variable, pour les pages "popups" ou les fenêtres modales.
? | Exemple 2 - Intégration de 6 images (cube faces) avec SWFObject|
Détail des fichiers
Pour ce deuxième exemple, nous avons ajouté "swfobject.js" et remplacé "pano.mov" par 6 images .jpg.

Les 6 images sont rassemblées dans le dossier "pano_cub", et elle correspondent à 6 faces d'un cube.

AVFlashVR avec SWFObject.js et pano.mov
Dans la page index.html de l'exemple 2, nous utilisons swfobject.js pour intégrer AVFlashVR.
Le code est chargé avec cette ligne:
<script src="/swfobject.js" type="text/javascript"></script>
Voici le code minimum pour charger pano.mov
<script src="/swfobject.js" type="text/javascript"></script>
<script type="text/javascript">
var flashvars = {};
var params = {allowScriptAccess: "always"};
var attributes = {};
swfobject.embedSWF("AVFlashVR.swf?panoImage=pano.mov", "mypano", "900", "450", "10.0.0", "expressInstall.swf", flashvars, params, attributes);
</script>
AVFlashVR avec SWFObject.js et 6 images .jpg
Ci-dessous, le code est étendu pour passer les 6 images (cube faces) dans flashvars.
Cette fois, la variable panoImage contient l'url des 6 fichiers .jpg, séparés par une virgule (et sans retour a la ligne).
<script src="/swfobject.js" type="text/javascript"></script>
<script type="text/javascript">
var flashvars = {
panoImage: "pano_cub/019_0.jpg,pano_cub/019_1.jpg,pano_cub/019_2.jpg,pano_cub/
019_3.jpg,pano_cub/019_4.jpg,pano_cub/019_5.jpg"
};
var params = {
menu: "false",
scale: "noScale",
allowFullscreen: "true",
allowScriptAccess: "always",
bgcolor: "#000000"
};
var attributes = {
id:"Panav"
};
swfobject.embedSWF("AVFlashVR.swf", "mypano", "900", "450", "10.0.0", "expressInstall.swf", flashvars, params, attributes);
</script>
| Exemple 3 - Paramètres de baseLes paramètres de base
AVFlash Player peut démarrer automatiquement, afficher des titres et des messages.
A partir de l'exemple 3, nous avons passé des paramètres dans l'objet "flashVars".
Chaque paramètre est séparé par une virgule.
Les lignes de commentaires (de couleur verte), commençant par "//", sont sans action sur le fonctionnement.
var flashVars = {
// Url of the pano file
panoImage: "pano_mov/019.mov",
// Title
title: "Penne d'Agenais - Village médiéval",
// sysInfo. 0 for normal display.
sysInfo: "0",
// Delay for autorun (seconds)
autoStart: "4",
// Direction of autorun (l)eft, (r)ight
autoDir: "r",
// Mouse effects
inertia: "85", // 0 to 100 (82 = standard setting)
flexibility: "50", // 0 to 100 (50 = standard setting)
// Registration domain name
regDomain: "mysite.com",
// Registration code
regCode: "107604-119682-106506-131760",
// Image showed at start
infoImage: "img_thumbs/avpano.jpg",
// Url called when you click on the intro image
openUrl: "http://www.avisiter.com",
// Logo text
logoText: "MySite.com"
};
Liste des paramètres de base de AVFlashVR
| Paramètre |
Exemple |
Limites |
Unité |
Description |
|
| panoImage: |
"mypano.mov" |
|
.mov, .jpg |
Url du pano. Pour afficher plusieurs panos,
on utilise "panoObject" Ã la place de "panoImage".
|
|
| panoObject: |
"JSON_Object" |
|
.js |
Fichier JSON contenant les paramètres de galeries,
et visites virtuelles importantes.
|
|
| panoFile: |
"file.php" |
|
.php |
Fichier PHP pour connecter à une base de données.
|
|
| sysInfo: |
"0", |
0 -> 4 |
integer |
0 Info systeme invisible (fonctionnement normal). 1 Affiche un outil pour positionner les hotspots. 2 Affiche les infos système, et les objets chargés. 3 Affiche le structure du cube sans image. |
|
| autoStart: |
"4", |
0 -> 100 |
seconds |
Delai pour autostart |
|
| autoDir: |
"l", |
"l" ou "r" |
|
Sens de rotation l(eft) ou r(ight). |
|
| inertia: |
"85", |
0 -> 100 |
number |
Inertie du déplacement à la souris (82 = normal) |
|
| flexibility: |
"50", |
0 -> 100 |
number |
Souplesse du déplacement (50 = normal) |
|
| regDomain: |
"mysite.com", |
|
text |
Nom de domaine pour enregister la licence. |
|
| regCode: |
"XXXX-XXXX", |
|
text |
Code pour activer les fonctions Pro. |
|
| introImage: |
"avpano.jpg", |
|
text |
Remplacer ou cacher l'image d'acceuil. |
* |
| openUrl: |
http://www.*, |
|
url |
URL Ã ouvrir en cliquant sur l'image d'acceuil. |
* |
| logoText: |
"mysite.com", |
|
text |
Choix d'un texte à afficher dans le pano. |
* |
| noCommaAtEnd: |
"" |
|
|
Ceci n'est pas un réglage mais juste un rappel: Ne pas utiliser de virgule après le dernier paramètre. |
|
| Exemple 4 - Paramètres étendusJSON vs. XML
Beaucoup d'applications Flash utilisent le langage XML pour stoker leurs paramètres.
AVFlashVR a été conçu pour faciliter le travail du webmaster. Il se programme avec JSON.
JSON est un format d'échange de données, plus simple et plus léger que XML.
Les paramètres de AVFlashVR sont plus faciles à régler, et la documentation est plus légère.
JSON est compatible avec tous les langages Internet (HTML/JS, PHP, ASP, etc.).
Â
Dans les premiers exemples, nous avons vu comment afficher un pano, avec un minimum d'information.
A partir de l'exemple 4, nous utilisons un objet JSON qui contient tous les paramètres des visites virtuelles :
Cela permet d'afficher dans un même cadre :
- Plusieurs panos avec interaction.
- Des galeries (images miniatures).
- Des textes (titres, logos, etc.).
- Des cartes Gmaps
- etc.
Les groupes de paramètres
Pour simplifier le traitement, nous avons groupé les paramètres similaires dans un seul objet.
L'objet nommé "panos" (au pluriel) contient plusieurs objets ("pano00", "pano01", "pano02",...)
Chaque objet "panoXX" contient les paramètres du pano correspondant.
Â
Cette écriture est également appliquée pour les "plugins" et les "hotspots".
Vous trouverez un modèle concret dans le fichier ".js" de l'exemple 4.
Â
Vous remarquerez que la syntaxe JSON est vraiment simple.
Les mêmes réglages en XML, auraient occupé plus de place, et de temps.
// Panoramas
panos:{ pano00: { file: "pano_mov/pano0.mov",
title: "Title for pano 0",
// Optionnal
pan: "-125",
zoom: "1",
gMapLat: "44.718538477895144",
gMapLon: "-1.2050172686576843"
},
pano01: { file: "pano_mov/pano1.mov",
title: "Title for pano 1",
pan: "-125",
tilt: "45",
zoom: "1.2"
},
pano02: { file: "pano_mov/pano2.mov",
title: "Title for pano 2"
}
}
Fichier de paramètres externe et "panoObject"
A partir de l'exemple 4, on trouve le paramètre "panoObject". Celui-ci peut recevoir de nombreux paramètres ou "objects", stockés dans un fichier externe.
En ouvrant l'exemple 4 vous comprendrez rapidement le principe :
- Une page index.html avec le code ci-dessous.
- Le fichier nommé "flashvars_obj.js" contient les paramètres qui doivent passer dans "panoObjet".
Â
// Chargement du fichier externe
<script src="/avflashvr/params_js/flashvars_obj.js" type="text/javascript"></script>
Â
<script type="text/javascript">
// La variable "flashVars_obj" est convertie en objet JSON.
var paramObj = encodeURIComponent(JSON.encode(flashVars_obj));
var flashVars = {
// Les paramètres sont envoyé à "panoObject".
panoObject: paramObj
}
</script>
Cette méthode permet de passer tous les paramètres, sous la forme d'un seul objet, au format JSON. | Liste des paramètres "logoStyle" et "titleStyle"Les paramètres étendus listés dans le tableau ci-dessous, s'appliquent aux objets :
Les noms des paramètres parlent d'eux même. La plupart d'entre eux sont facultatifs.
Si vous souhaitez remplacer une couleur, une taille de police, ou ajouter une ombre, ne modifiez qu'un paramètre à la fois, et rafraichissez la page pour voir la différence.
Dans certains cas, vous devrez peut-être vider le cache de votre navigateur, pour voir le résultat.
Â
| Paramètre |
Exemple |
Limites |
Unité |
Description |
|
| textColor: |
"ffffff", |
000000 -> ffffff |
color |
Couleur du texte |
* |
| textShadow: |
"6", |
0 -> 10 |
px |
Taille de l'ombre du texte |
* |
| textBoxColor: |
"000000", |
000000 -> ffffff |
color |
Couleur de fond du texte |
* |
| textBoxCorner: |
"0", |
0 -> 20 |
px |
Valeur de l'arrondi (px) (0 = coins carrés) |
* |
| textBoxAlpha: |
"0", |
0.0 -> 1.0 |
number |
Transparence du fond (0 = invisible) |
* |
| textBoxBorder: |
"3", |
0 -> 10 |
px |
Bordure du cadre texte |
|
| textBoxBorderColor: |
"ffffff", |
000000 -> ffffff |
color |
Couleur de bordure du cadre texte |
|
| textBoxShadow: |
"0", |
0 -> 10 |
px |
Ombre du cadre texte |
|
| align: |
"br", |
|
|
Position de l'objet dans le cadre: t(op), b(ottom),
l(eft), r(ight) c(enter) ou (tl, tr, bl, br,)
|
* |
| offsetX: |
"10", |
-xxx -> xxx |
px |
Distance horizontale depuis le bord du pano. |
* |
| offsetY: |
"10", |
-yyy -> yyy |
px |
Distance verticale depuis le bord du pano.
|
* |
| textPadW: |
"4", |
0 -> xxx |
px |
Padding horizontal du texte dans son cadre |
|
| textPadH: |
"10", |
0 -> yyy |
px |
Padding vertical du texte dans son cadre |
|
| textBold: |
"1", |
0 -> 1 |
integer |
0 = no, 1 = yes |
|
| textItalic: |
"0", |
0 -> 1 |
integer |
0 = no, 1 = yes |
|
| textFont: |
"Tahoma", |
|
text |
Nom de la police à utiliser |
|
| textSize: |
"16", |
2 -> 50 |
px |
Taille de la police |
|
| textAlpha: |
"0.8", |
0.0 -> 1.0 |
number |
Transparence du texte |
|
| textShowTime: |
"2", |
0 -> xx |
seconds |
Delai avant l'apparition du texte |
|
| textHideTime: |
"15", |
0 -> 100 |
seconds |
Durée d'affichage (si > 100 le texte reste affiché) |
|
| Liste des paramètres "panos" et "plugins"Paramètres des panos.
| Paramètre |
Exemple |
Limites |
Unité |
Description |
|
| file: |
"pano_mov/902.mov", |
|
text |
URL du fichier pano |
|
| title: |
"my panorama", |
|
text |
Titre du pano |
|
| pan: |
"0", |
0 -> 360 |
degres |
Position horizontale initiale |
* |
| tilt: |
"0", |
-90 -> +90 |
degres |
Position verticale initiale |
* |
| fov: |
"", |
|
|
|
|
| zoom: |
"", |
|
|
Zoom initial (remplace fov) |
* |
| gMapLat: |
"44.758537895144", |
|
number |
Latitude du lieu pour GMaps |
* |
| gMapLon: |
"-1.505086576843", |
|
number |
Longitude du lieu pour GMaps |
* |
| gMapType: |
"sat", |
sat, map |
|
Type de vue (carte ou satellite) |
* |
| gMapZoom: |
"15", |
10 -> 18 |
number |
Agrandissement de la carte |
* |
| speed: |
"-5", |
-10 -> +10 |
number |
Vitesse et direction autorun |
* |
| plugins: |
"", |
|
plugID |
ID des plugins pour ce pano |
* |
| showHotspots: |
"spot00,spot01", |
|
spotID |
ID des hotspots pour ce pano |
* |
Paramètres des plugins.
Ci-dessous, la liste des parametres communs à tous les plugins. Chaque plugin dispose aussi de paramètres spécifiques, comme "gmapKey" qui ne concerne que le plugin "GMaps". Vous trouverez des compléments d'information dans les fichiers de paramétrage.
| Paramètre |
Exemple |
Limites |
Unité |
Description |
|
| plugFile: |
"plugins/sysInfo.swf", |
|
text |
URL du fichier plugin swf. |
|
| active: |
"1", |
0, 1 |
int |
Plugin chargé, ou non chargé. |
|
| align: |
"br", |
|
|
Position de l'objet dans le cadre: t(op), b(ottom),
l(eft), r(ight) c(enter) ou (tl, tr, bl, br,)
|
* |
| offsetX: |
"10", |
-xxx -> xxx |
px |
Distance horizontale depuis le bord du pano. |
* |
| offsetY: |
"10", |
-yyy -> yyy |
px |
Distance verticale depuis le bord du pano.
|
* |
| Paramètres des "Hotspots" 2D et 3DParamètres des hotspots 3D.
Un "hotspot" est un objet graphique, composé d'une image et d'un texte. Il peut se placer dans un espace 3D, et tourner avec la pano. Exemple : Une fléche qui montre une zone cliquable, pour changer de vue.
C'est le paramètre "align", qui détermine si le hotspot est de type 3D ou 2D.
| Paramètre |
Exemple |
Limites |
Unité |
Description |
|
| image: |
"images/hotspot_yellow.png", |
|
text |
URL de l'image |
* |
| active: |
"1", |
0, 1 |
int |
Plugin chargé, ou non chargé. |
|
| align: |
"3d", |
|
|
Création d'un hotspot de type 3D. |
* |
| pan: |
"-120" |
-180 -> +180 |
number |
Position H du spot dans l'espace 3D. |
|
| tilt: |
"0" |
-30 -> +30 |
number |
Position v du spot dans l'espace 3D. |
|
| onClick: |
"pano01", |
|
text |
Lance le panoXX. |
|
| onOver: |
"color", |
|
cmd |
Effet au passage de la souris. |
|
| shadowSize: |
"10", |
0 -> 20 |
number |
Effet d'ombre sur le hotspot. |
|
Â
Paramètres des hotspots 2D.
Quand il est placé dans l'espace 2D, le hotspot peut afficher une image, ou du texte devant le pano (par exemple un logo fixe).
Les hotspots acceptent aussi des paramètres, pour les styles de textes, les effets d'ombres, de couleurs, et de transparences. Un timer permet de choisir la durée d'affichage.
Â
| Paramètre |
Exemple |
Limites |
Unité |
Description |
|
| image: |
"images/hotspot_yellow.png", |
|
text |
URL de l'image |
* |
| active: |
"1", |
0, 1 |
int |
Plugin chargé, ou non chargé. |
|
| align: |
"br", |
|
|
Position (2D) du hotspot dans le cadre: t(op), b(ottom),
l(eft), r(ight) c(enter) ou (tl, tr, bl, br,)
|
* |
| offsetX: |
"10", |
-xxx -> xxx |
px |
Distance horizontale depuis le bord du pano. |
* |
| offsetY: |
"10", |
-yyy -> yyy |
px |
Distance verticale depuis le bord du pano.
|
* |
| textOnly: |
"0", |
0, 1 |
int |
Image + texte ou texte seul. |
|
| textMessage: |
"Click to enter" |
|
text |
Texte affiché dans le spot. |
|
| textPlace: |
"b", |
t, b |
|
Position du texte: t(op), b(ottom). |
|
| textOffset: |
"0", |
0 -> 200 |
number |
Distance entre le texte et l'image. |
|
| textColor: |
"ffffff", |
000000 -> ffffff |
color |
Couleur du texte |
* |
| textBoxColor: |
"000000", |
000000 -> ffffff |
color |
Couleur de fond du cadre texte |
* |
| textBoxCorner: |
"0", |
0 -> 20 |
px |
Valeur de l'arrondi (px) (0 = coins carrés) |
* |
| textBoxAlpha: |
"0", |
0 -> 1 (0.1, 0.2 etc.) |
number |
Transparence du fond (0 = fond invisible, 0.7 = Semi-transparent) |
* |
| textBoxBorder: |
"3", |
0 -> 10 |
px |
Bordure du cadre texte |
|
| textBoxBorderColor: |
"ffffff", |
000000 -> ffffff |
color |
Couleur de bordure du cadre texte |
|
| textBoxShadow: |
"0", |
0 -> 10 |
px |
Ombre du cadre texte |
|
| textPadW: |
"4", |
0 -> xxx |
px |
Padding horizontal du texte dans son cadre |
|
| textPadH: |
"10", |
0 -> yyy |
px |
Padding vertical du texte dans son cadre |
|
| textBold: |
"1", |
0 -> 1 |
integer |
0 = no, 1 = yes |
|
| textItalic: |
"0", |
0 -> 1 |
integer |
0 = no, 1 = yes |
|
| textFont: |
"Tahoma", |
|
text |
Nom de la police a utiliser |
|
| textSize: |
"16", |
2 -> 50 |
px |
Taille de la police |
|
| textAlpha: |
"0.8", |
0 -> 1 (0.1, 0.2 etc.) |
number |
Transparence du texte |
|
| textHideTime: |
"15", |
0 -> 100 |
seconds |
Durée d'affichage du texte (si > 100 le texte reste affiché) |
|
|
|