refresh swf possible en java ou ajax ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : refresh swf possible en java ou ajax ?

Re: refresh swf possible en java ou ajax ?

par Nicost » 21 août 2010, 14:09

Re salut !

Voila on j'en suis,

Dans ma page html
<script>
function callExternalInterface() {
     thisMovie("affichebiere").goHome();
}
 
function thisMovie(movieName) {
     if (navigator.appName.indexOf("Microsoft") != -1) {
          return window[movieName]
     }
     else {
          return document[movieName]
     }
}
</script>
Ensuite le swf qui affiche le nombre total de bière
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="98" height="19" id="affichebiere" align="middle">
	<param name="allowScriptAccess" value="sameDomain" />
	<param name="allowFullScreen" value="false" />
	<param name="movie" value="affichebiere.swf" /><param name="menu" value="false" /><param name="quality" value="high" /><param name="bgcolor" value="#227cbd" />	<embed src="affichebiere.swf" menu="false" quality="high" bgcolor="#227cbd" width="98" height="19" name="affichebiere" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
	</object>
-------------------------------------------------

Dans mon jeu biere, voila ce que j'ai mis à la fin de la partie :
import flash.external.*;
var methodName:String = "goHome";
var instance:Object = null;
var method:Function = Lance;
var wasSuccessful:Boolean = ExternalInterface.addCallback(methodName, instance, method);
var txtField:TextField = this.createTextField("txtField", this.getNextHighestDepth(), 0, 0, 200, 50);
txtField.border = true;
txtField.text = wasSuccessful.toString();
function Lance() {
     txtField.text = "affichebiere.swf";
     getURL("affichebiere.swf", "_self");
}
Dans le swf (affichebiere) j'ai bien true afficher.

Mais en faite quand je fini le jeu, y a rien qui est envoyé au fichier swf affichebiere, car il faut lancer la function Lance pour que cela soit pris en compte, je me plante quelque part !!!
Alors que je voudrait que lorsque le jeu est fini, on mes à jour automatiquement, arf bon je continu mes recherches.
Je fait cela en AS2 car je ne connait pas l'AS3.
Merci de votre aide

Re: refresh swf possible en java ou ajax ?

par Nicost » 18 août 2010, 22:03

Bonsoir Nours312, merci pour les tuyaux, vais voir tous cela, merci encore !!!

Re: refresh swf possible en java ou ajax ?

par Nours312 » 18 août 2010, 20:19

pourquoi ton AS de de bière.swf ne ferait pas un appel récurent au serveur ? toute les x secondes ...

sinon ::
regarde du coté de addCallback() en Action script.

ça te permet de créer une méthode AS3 qui sera appelée depuis le javascript.
Coté interface tu met une fonction JS qui va transmettre à ton objet biere.swf le nb de bières à afficher.

Ensuite dans tous tes jeux, lorsque l'utilisateur fini la partie tu appel ta fonction javascript depuis l'objet swf via les méthodes ExternalInterface.call()

et voila !... tes deux objets communiquent entre eux via l'interface JS de l'utilisateur !... :D

bien évidemment, il ne faut pas oublier les fameux ::

Code : Tout sélectionner

<param name="allowScriptAccess" value="always" />
et coté AS :

Code : Tout sélectionner

flash.system.Security.allowDomain(sourceDomain)
@++

refresh swf possible en java ou ajax ?

par Nicost » 18 août 2010, 18:31

Bonsoir à tous,
J'aurai voulu savoir s'il est possible de rafraichir un SWF déjà afficher sur un page web via du javascript ou ajax ?

En faite voila ce que je voudrait faire :
Sur toute mes pages du site est afficher le swf bière, celui-ci contient le nombre de bière cas l'utilisateur.
Dans mon swf bière "biere.swf", je fait un load du fichier de récupération du nombre bière cas l'utilisateur connecté.

Dans une page jeu.php, j'affiche un jeux flash (chopedebière.swf)(jeu vraiment tout bête), quand l'utilisateur à fini la parti, j'affiche le nombre de bière qu'il viens d'avoir dans cette partie, on reste toujours dans la page jeu.php

Je transmet via le jeu (chopedebière.swf) le nombre de bière (point) obtenu, via un fichier php, qui lui va transmettre le nombre dans la base sql, on reste toujours dans la page jeu.php

Du coup, je pourrai donc faire un refresh de la page, ou un retour de celle-ci.

Mais je ne veux pas faire comme ceci, je préfèrerai que le nombre de bière obtenu en plus à la fin de la partie, mettre à jour le nombre total de bière cas l'utilisateur via le SWF qui est afficher dans toute les pages "biere.swf".

Bref du live quoi.
Je pense que mes explications sont un peu flou lol !

Je reprend :
Sur mon site, l'utilisateur peu jouer à un jeu qui permet d'obtenir des bières virtuel bien sur lol.
Plus ta de bière, plus tu est un champion, cela revient à la même chose qu'un site qui propose des jeux et si tu fait le meilleur score tes un champion re lol.

Sur l'index et tous les autres page du site, j 'affiche dans un swf (biere.swf) le nombre total de bière cas l'utilisateur.

Quand celui-ci veux joué au jeu et qu'il fait un nouveau score, a la fin du jeu on fait un refresh de bière.swf, au lieu de faire un refresh de la page.

Donc voila, je ne voie pas trop comment je pourrai dire à la fin du jeu :
Le jeu est fini - OK - alors on envoie le score - OK - et maintenant on fait un refresh de l'autre swf sans changer de page.

AS de bière.swf celui qui affiche le nombre total de bière :

var recup = new LoadVars();
recup.load("http://localhost/mon_site_de_bière/envoiedonner.php");
recup.onLoad = function(success)
{
if (success)
{
infobiere= this.infobiere;
};
};
Merci à vous tous pour votre aide !