onloadcomplete

Répondre
Avatar de l’utilisateur
gabriel
Messages : 222
Inscription : 7 févr. 2010, 11:37 23

Re: onloadcomplete

Message par gabriel »

Salut Jean-Pierre,

Un début de réponse:

Code : Tout sélectionner

<events name="little_planet_intro_always" keep="TRUE" onxmlcomplete="little_planet_view_onstart()" onloadcomplete="delayedcall(X, gotonormalview());" />
ou X est le temps réel du déroulé de ta little_planet.
Il y a surement plus élégant à faire, mais ça devrait marcher.
à plus,
Gabriel.
quoideneufdocteur?
Messages : 358
Inscription : 29 sept. 2009, 19:42 05

Re: onloadcomplete

Message par quoideneufdocteur? »

Encore plus hétérodoxe que la proposition de Gabriel (mais lui sait programmer), il y a une possibilité d'interdire l'usage des commandes clavier/souris pour ton visiteur c'est d'utiliser set(control.usercontrol, off); et de lui rendre ensuite avec set(control.usercontrol, all); Dans une visite générée avec krpano (MAKE VTOUR (MULTIRES) droplet.bat) celui qui permet de valider un démarrage en littleplanetintro en mettant littleplanetintro="true" au lieu de false dans le tour.xml.
Ce qui donne dans le vtourskin.xml

Code : Tout sélectionner

<action name="skin_setup_littleplanetintro">
		copy(lp_scene, xml.scene);
		copy(lp_hlookat, view.hlookat);
		copy(lp_vlookat, view.vlookat);
		copy(lp_fov, view.fov);
		copy(lp_fovmax, view.fovmax);
		copy(lp_limitview, view.limitview);

              set(control.usercontrol, off);

		set(view.fovmax, 170);
		set(view.limitview, lookto);
		set(view.vlookatmin, 90);
		set(view.vlookatmax, 90);
		lookat(calc(lp_hlookat - 180), 90, 150, 1, 0, 0);
		set(events[lp_events].onloadcomplete,
			delayedcall(0,5,
				if(lp_scene === xml.scene,
					set(control.usercontrol, on);
					copy(view.limitview, lp_limitview);
					set(view.vlookatmin, null);
					set(view.vlookatmax, null);
					tween(view.hlookat|view.vlookat|view.fov|view.distortion, calc('' + lp_hlookat + '|' + lp_vlookat + '|' + lp_fov + '|' + 0.0),
						3.0, easeOutQuad,

set(control.usercontrol, all);

						tween(view.fovmax, get(lp_fovmax));
						);
				  );
			  );
		  );
	</action>
J'ai testé, ça fonctionne, mais c'est livré breveté SGDG !
Avatar de l’utilisateur
gabriel
Messages : 222
Inscription : 7 févr. 2010, 11:37 23

Re: onloadcomplete

Message par gabriel »

Mmm .. j'avais pas compris ce que tu voulais, effectivement, ce que je te proposais ne fait qu'augmenter le temps de retour à la vue normale après le little planet, sorry.
Si tu veux qu'il n'y ait pas d'interactions sur les boutons pendant la little planet, je pense que leur mettre un attribut

Code : Tout sélectionner

enabled="false"
d'entrée de jeu, puis dans l'action gotonormalview mettre

Code : Tout sélectionner

set(plugin[bouton],enabled,true);
ou un truc dans le style, mais celui-là devrait marcher.
à plus,
Gabriel.
quoideneufdocteur?
Messages : 358
Inscription : 29 sept. 2009, 19:42 05

Re: onloadcomplete

Message par quoideneufdocteur? »

Tu peux aussi:
Forcer le passage en plein écran.
Démarrer avec les commandes et les miniatures fermées.
Ficeler tes visiteurs sur leur chaise :mrgreen:
quoideneufdocteur?
Messages : 358
Inscription : 29 sept. 2009, 19:42 05

Re: onloadcomplete

Message par quoideneufdocteur? »

Bien loin de moi l'idée de te rappeler à l'ordre ! Mes deux premières propositions étaient sérieuses et tu peux toujours réafficher les commandes et les miniatures à la fin de ta petit planète. Au début, considérant que le menu et les miniatures défiguraient mes somptueuses :mrgreen: visites, j'affichais tout pendant 10 secondes, miniatures et menu de navigation, puis masquais tout en ne laissant qu'un bouton pour réafficher tout, l'expérience prouve qu'une bonne partie des visiteur ne comprennent rien au film..
quoideneufdocteur?
Messages : 358
Inscription : 29 sept. 2009, 19:42 05

Re: onloadcomplete

Message par quoideneufdocteur? »

Si dans vtourskin.xml "<!-- skin actions -->
<action name="skin_startup">"
tu mets set(layer[skin_layer].visible, false);
Tu n'as rien qui s'ouvre avant/pendant ta little planète
Si dans <action name="skin_setup_littleplanetintro">
tu mets set(layer[skin_layer].visible, true);
tu récupères ton menu de navigation et tes vignettes ..
Avatar de l’utilisateur
gabriel
Messages : 222
Inscription : 7 févr. 2010, 11:37 23

Re: onloadcomplete

Message par gabriel »

Salut Jean-Pierre et Docteur,

Le doc te propose de ne pas afficher ton interface pendant la littleplanet.
Ce que je te propose est un peu different : l'interface est affichée, mais les boutons ne sont pas actifs (c'est peut être un peu moins bien d'ailleurs).
Sinon, oui, il faut donner le bon nom au plugin, dans ton cas: [skin_layer],
mon code devient alors :

Code : Tout sélectionner

set(plugin[skin_layer].enabled,false);
dans la definition du plugin
et

Code : Tout sélectionner

set(plugin[skin_layer].enabled,true);
dans la definition de l'action gotonormalview

Mais, je pense qu'il y a moins biscornu que de greffer du krpano à du PTP (c'est jamais très bon), puisque tu bosse avec PTP, tu peux :
-demander à ce que l'interface ne soit pas visible au démarrage ( visite>paramètres de demarrage>démarrer la visite avec les contrôles masquables non affichés)
-mettre tous tes plugins en "réagir à la requête d'affichage/masquage des contrôles" actif

Maintenant, si vraiment tu veux passer par krpano, fais-le plutôt par le biais d'un fichier externe à PTP avec le plugin include( http://www.kolor.com/wiki-en/action/vie ... ra_Plugins

à plus,
Gabriel.
Avatar de l’utilisateur
gabriel
Messages : 222
Inscription : 7 févr. 2010, 11:37 23

Re: onloadcomplete

Message par gabriel »

Heu ... non :hello:
Plusieurs choses:
si tu veux faire ce que je te propose ( vignettes désactivées mais affichées au démarrage - actives en fin de little planet ):
- il faut mettre l'attribut enabled="false" DANS LA DEFINITION de ton plugin.

exemple :
<plugin name="le_nom_du_bouton_qui_doit_s_activer_a_la_fin_de_la_little_planet"
type="image"
url="ma_visite/mes_plugins/mes_images/le_nom_du_bouton_qui_doit_s_activer_a_la_fin_de_la_little_planet.jpg"
keep="true"
visible="true"
enabled="false"
/>

et ça POUR TOUS les plugins que tu souhaite désactiver au démarrage ( tu pourrais passer par un style aussi ... )

- Dans l'action gotonormalview, tu mets à la fin :
set(plugin[le_nom_du_bouton_qui_doit_s_activer_a_la_fin_de_la_little_planet].enabled,true);
MAIS PAS entre <!-- et --> ( ça, ça veut dire que tu commentes ton xml, ce qui est entre <!-- et --> n'est pas joué !

ton action doit donc ressembler à :

Code : Tout sélectionner

   <action name="gotonormalview">
set(control.usercontrol, all);
tween(view.hlookat, get(view.hlookat), 2.5, easeInOutQuad);
tween(view.vlookat, 0, 2.5, easeInOutQuad);
tween(view.fov, 100, 2.5, easeInOutQuad);
tween(view.fovmax, 100, 2.5, easeInOutQuad);
tween(view.fisheye, 0.0, 2.5, easeInOutQuad);
wait(0.2);
set(display.flash10, on);
set(control.usercontrol, all);
set(plugin[le_nom_du_bouton_qui_doit_s_activer_a_la_fin_de_la_little_planet].enabled,true);
      </action>  

Si tu veux que les boutons soient masqués au départ et s'affichent à la fin de la littleplanet, change enabled="false" par visible="false" Dans la definition du plugin et dans l'action gotonormalview. Tu peux même mettre les deux attributs : il ne sera pas visible ET pas clickable.

à plus,

Gabriel.
Avatar de l’utilisateur
gabriel
Messages : 222
Inscription : 7 févr. 2010, 11:37 23

Re: onloadcomplete

Message par gabriel »

Salut Jean-Pierre,

On a le droit à une URL pour voir le résultat ?

à plus,

Gabriel.
Répondre

Revenir à « KRPano »