Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : FMS2 SharedObject et call ciblé [ Scripts / ActionScript ] (badben)

vendredi 20 octobre 2006 à 12:09:04 | FMS2 SharedObject et call ciblé

badben

Salut,

j'ai regardé des dixaines de fois les tut mais j'arrive mal à cerner certains points concernant le communications ciblés.

J'essaye de faire un récapitulatif de ce que j'ai comrpis.

Corrigez moi si je me trompe :

J'ai compris qu'un SO est un object synchronisé avec tous les utilisateurs connectés à ce même SO.

Il est initialisé sur le serveur comme ça :
[code]
this.SO = SharedObject.get("SO", false);[/code]

Le client une fois connecté se synchonise comme ça :

[code]SO = SharedObject.getRemote("SO", nc.uri, false);
SO.onSync = function() {
     // Lorsque le SO est modifié sur le serveur cette fonction est lancée
}
SO.connect(NetConnection);[/code]

(je ne sais pas à quoi correspond les param false)

Donc lorsque le SO change de paramètre sur le serveur, par exemple :

[code]this.SO.data.variable = "bonjour"
this.SO.setProperty("users", this.SO.variable);[/code]

Sur le client est appelé la fonction SO.onSync

Voilà ce que j'ai compris sur les SO.

J'ai essayé de faire un call ciblé sans utiliser les SO car je ne sais pas comment m'y prendre précisément on me dit de créer des objets, de faire des call ciblé, mais je n'arrive pas à voir comment il faut faire étant donén que je n'ai que des bouts de code.

Voilà mon appli :

J'ai simplifier le tout, il y a 2 boutons sur la 1ere frame un pour le joueur 1 avec l'id 1 et un pour joueur 2 avec l'id 2. J'ai fait cela pour simuler 2 joueurs différents qui se connectent. Uniquement pour le test.
Chaque joueur connait l'id de son adversaire.
Frame 1 :  (login)

[code]stop();
function login1() {
    session = new Object();
    session.id = 1;
    session.idAdversaire = 2;
    gotoAndPlay(2);
}
function login2() {
    session = new Object();
    session.id = 2;
    session.idAdversaire = 1;
    gotoAndPlay(2);
}
j1.addEventListener("click", login1);
j2.addEventListener("click", login2);
[/code]

Frame 2 : (connexion)

[code]stop();
nc = new NetConnection();
nc.owner = this;
nc.connect("rtmp://192.168.0.100/test_multiusers", session.id, session.idAdversaire);
nc.onStatus = function(info) {
    trace(info.code);
    if (info.code == "NetConnection.Connect.Success") {
        trace("Connecté");
    } else {
        com = "Problème de connexion.";
    }
};
NetConnection.prototype.lancerJeu = function(idAdversaire) {
    trace("Votre adversaire "+idAdversaire+" est connecté et prêt à jouer");
    gotoAndPlay("jeu");
};
NetConnection.prototype.utilisateurDeconnecte = function(idAdversaire) {
    trace("Votre adversaire s'est déconnecté");
    gotoAndPlay("fin");
};[/code]

Maintenant sur le serveur :

[code]application.onAppStart = function() {
    trace("Applicaiton lancée");
    this.tabJoueur = Array();
};
application.onConnect = function(client, id, idAdversaire) {
    trace(client);
    client.id = id;
    client.idAdversaire = idAdversaire;
    this.acceptConnection(client);
    this.tabJoueur.push(id);
    trace("Client se connecte avec l'id : "+client.id+" et cherche l'adversaire : "+client.idAdversaire);
    for (idJoueur in this.tabJoueur) {
        if (idJoueur == client.idAdversaire) {
            trace("Adversaire trouvé");
                        // je lance la fonction lacerJeu sur les 2 joueurs.
            client[id].call("lancerJeu", null, idAdversaire);
            client[idAdversaire].call("lancerJeu", null, id);
        }
    }
};
application.onDisconnect = function(client) {
    trace("Client déconnecté.");
    client[client.idAdversaire].call("utilisateurDeconnecte", client.id);
    // On supprimer le client du tableau
    this.tabJoueurTemp = new Array();
    for (idJoueur in this.tabJoueur) {
        if (idJoueur != client.id) {
            this.tabJoueurTemp.push(idJoueur);
        }
    }
    this.tabJoueur = this.tabJoueurTemps
    trace("Tabbleau des connectés : "+this.tabJoueur);
};[/code]
Voilà, avec ce code FMS2 me retourne une erreur concernant le client[id], en fait je ne sais pas trop bien manier les objets, je ne connais pas très bien la syntaxe.

Merci par avance.




samedi 21 octobre 2006 à 03:46:14 | Re : FMS2 SharedObject et call ciblé

scara 51

Heu, dis-moi si je me trompe, tu veux faire communiquer 2 ordinateurs via sharedObject ?  
On me l'avais jms faite celle-la. sharedObject en mode télépathie

mardi 24 octobre 2006 à 12:19:07 | Re : FMS2 SharedObject et call ciblé

Prouprou_Sensei

scara51 renseigne toi un peut avant de poster inutilement :
le titre du post c'est FMS2 SharedObject et call ciblé et fms2 ca veut dire flash media server, et tu sais quoi ?
Dans flashmedia server il y'a des shared object qui permettent de faire communiquer plusieurs applications, qui se trouvent sur le serveur.
La phrase "
Il est initialisé sur le serveur comme ça :" aurait du te mettre sur la piste...
Il faut croire que tu est plus preocupé par la prochaine vanne que tu va sortir que par le probleme de celui qui poste.....

Pour toi badbendésolé mais j'utilise des serveurs socket pour la com flash....

A tchao !

www.opsas.net

mercredi 25 octobre 2006 à 03:01:22 | Re : FMS2 SharedObject et call ciblé
mercredi 25 octobre 2006 à 21:17:40 | Re : FMS2 SharedObject et call ciblé

badben

Je voulais te répondre scara 51 mais j'ai eu un petit problème avant l'envoi du post.

Donc si je me souvient je disais que j'ai mis en titre FMS2 pour "filtrer" les visiteurs, si à la base on ne sais pas ce que c'est que FMS2 ce n'est même pas la peine de répondre. En l'occurence tu es passé a travers les mailles du filet et tu as répondu une vanne à 2 balles...

Enfin bref je me suis demmerdé tout seul et je sais manier FMS2.



vendredi 20 juillet 2007 à 14:14:28 | FMS2

natiw

Bonjour,

Nous sommes a la recherche d'un expert en serveurs FMS2 ayant un peu de temps pour offrir un support pointu concernant le réglage, la sécurité de FMS2 et des applications hébergées pour un de nos clients sur Genève.

Nous sommes accesibles à l'adresse suivante :
NATIW
Rue Synagogue 40
1204 Geneve
tel +41 22 328 07 70

info@natiw.ch
www.natiw.ch.

Merci de nous indiquer s'il y a dans votre équipe une personne pouvant assurer ce mandat.

Haim Echanove, Julia Polo



Cette discussion est classé dans : code, client, id, so, idadversaire


Répondre à ce message

Sujets en rapport avec ce message

tableau... [ par saig ] Salut Cortoh, si tu n'est pas désesperé, voilà où j'en suis... bon, je suis désolé, mais je n'y arrive pas !! mon soucis est que le panier et les bou son [ par kisaka ] Voici mon code .as qui fait jouer du son au clic sur le movie .swf on (release) { var sonextrait = new Sound(); sonextrait.loadSound("../trac optimisation de la video dans flash [ par szambaux ] Bonjour, j'ai réalisé une appliance avec red5, et lfash le but de cette appliance est de faire de la visioconférence entre 2 personne, ca marcher plut Peut on resoudre ce probleme? [ par dest12ki ] Bonjour à tous,cela fait plusieurs heures que je tente de comprendre un code qui cache deriere une video au format flv je supose . voici ce que j'ai t Cherche code open source rotation 360° [ par GLG78 ] Bonjour à tous, Je suis un p'tit nouveau et un débutant en Flash, je souhaite réaliser une anim Flash mais je sais aps comment faire pourriez vous m'a [XML] probleme redaction [ par jarlaath ] Bonjour,je suis en train de créer une animation pour flash avec du XML et je me trouve devant un probleme. J'aurais aimé faire en sorte de pouvoir fai bouton parcourir [ par rosejade ] Bonjour, question embêtante pour une débutante. J'ai un formulaire de contact flash/php, mais je n'arrive pas à trouver le code pour un bouton parcou Code qui marche sur la version 8 mais, pas sur la version 6 [ par jzeel ] Bonjour à tous,Le code ci-dessous permet de defiler un text avec un font en particulier déjà intégré, tout marche dans la version 8 mais lorsque je va Déclencher un bouton, son evement release [ par Kev33 ] Bonjour, J'ai un bouton (appelons le : "Bt_faireqqc") avec lequel j'ai le code suivant : on (release){    this._visible=false;    _root.clip1._visible changement de lecteur [ par asfal ] salut tout monde j'ai fait  popup.php pour affiche un lecteur quad on clike sur voir mais moi je veux change je veux le replace par  un lecteur Jeroen


Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,52 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.