Flash et serveur xml socket



Documents pareils
ipra*cool v 1.08 guide de l utilisateur ipra*cool v.1-08 Guide de l'utilisateur ipra*cool v

Manuel d utilisation NETexcom

COMMENT AUTORISER LES PARTAGES RESEAUX ET IMPRIMANTE SOUS L ANTIVIRUS FIREWALL V3

CONFIGURER VOTRE HEBERGEMENT WINDOWS

Keyyo Guide de mise en service CTI / API / TAPI Keyyo

Open Office - Présentation

Nettoyer l'historique et le cache DNS de votre navigateur

Sélection du contrôleur


Gestion d'un parc informatique avec OCS INVENTORY et GLPI

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

BADPLUS V5 MANUEL D'UTILISATION. Imports de données joueurs à partir de la base fédérale en ligne Poona. Stéphan KIEFFER - Dominique BOSSERT

Partager mes photos sur internet

Spécificités Techniques créations publicitaires

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

MANUEL ACHAT à DISTANCE

Réalisez votre propre carte de vœux Éléctronique

NAS 206 Utiliser le NAS avec Windows Active Directory

DUT Informatique Module Système S4 C Département Informatique 2009 / Travaux Pratiques n o 5 : Sockets Stream

06/11/2014 Hyperviseurs et. Infrastructure. Formation. Pierre Derouet

Installation 1K-Serveur

DESINSTALLER L'ANTIVIRUS FIREWALL

Application de lecture de carte SESAM-Vitale Jeebop

KWISATZ MODULE PRESTASHOP

GUIDE D UTILISATION ADSL ASSISTANCE

Dossier de réalisation d'un serveur DHCP et d'un Agent-Relais SOMMAIRE. I. Principe de fonctionnement du DHCP et d'un Agent-Relais

Un serveur FTP personnel, ça ne vous a jamais dit?

Paramétrage des navigateurs

Volet de visualisation

NOTICE D UTILISATION

La gestion du son en AS3 est logique si on se réfère au fonctionnement d'une table de mixage audio!

Assistance à distance sous Windows

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

Qu'est-ce que la messagerie électronique?

Programmation Web. Madalina Croitoru IUT Montpellier

Thème : Création, Hébergement et référencement d un site Web

ENVOI EN NOMBRE DE SMS

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Google Drive, le cloud de Google

Cloud public d Ikoula Documentation de prise en main 2.0

Logiciel d envois de ing

Configuration de GFI MailArchiver

PARAMETRER LA MESSAGERIE SOUS THUNDERBIRD

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

Logiciel libre, OpenMeetings permet de créer ou simplement de participer à des conférences en ligne.

FICHE 17 : CREER UN SITE WEB

TRAVAUX DIRIGES D'INFORMATIQUE INITIATION A LA MANIPULATION DE WINDOWS 98

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat windowsx64.zip.

ENVOI EN NOMBRE DE SMS

Date : 24/09/12 Cours introduction SISR1 Greta Lycée La Tournelle La Garenne Colombes

Manuel d Utilisation Nouvelle Plateforme CYBERLIBRIS : ScholarVox Management

Installation de Bâtiment en version réseau

DOCUMENTATION VISUALISATION UNIT

ETI/Domo. Français. ETI-Domo Config FR

Thunderbird est facilement téléchargeable depuis le site officiel

Manuel d utilisation pour la plateforme BeExcellent MANUEL D UTILISATION POUR LA PLATEFORME BEEXCELLENT

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

Utilisation du logiciel ModellingSpace

2. Réservation d une visioconférence

CONFIGURATION FIREWALL

Logiciel de gestion pour restaurants et Bars

Réalisation de cartes vectorielles avec Word

SE CONNECTER A LA MESSAGERIE ACADEMIQUE ET A CIRCON SCRIPT

INSTALLER JOOMLA! POUR UN HEBERGEMENT LINUX

Gestionnaire de procédure Guide rapide

Contrôler plusieurs ordinateurs avec un clavier et une souris

Foucart Digeon SISR1-CH7 Mise en place d'un serveur FTP BTS SIO 08/04/2013. SISR1 CH7 Mise en place d'un serveur FTP. - Page 1 -

Installation des outils OCS et GLPI

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Service Déposant: Procédure d installation. Page 1. Service déposant. Procédure d installation Version 2.3

Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail v.8. Powered by. Version EXOCA 1

Installation de Windows 2000 Serveur

Windows Internet Name Service (WINS)

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

PLAN MULTIMEDIA DANS LES ECOLES UN ESPACE DE STOCKAGE NUMERIQUE (NAS) DANS VOTRE ECOLE. Sommaire

NOUVELLE FONCTION DE COCLICO : Gagnez de l'argent en proposant à vos clients le site web de leur réunion!!

:...2 I.6. :... 2 I.7. :... 2 I.8. :...3 I.9. :... 3 I.10. :... 3 II. 4 II.1.

1. Comment accéder à mon panneau de configuration VPS?

Administration du site (Back Office)

TP JAVASCRIPT OMI4 TP5 SRC

MANUEL D INSTALLATION

Prise en main du logiciel Smart BOARD

Dispositif Technique

CIRCULAIRE N 3877 DU 08 FEVRIER 2012

Logiciel PICAXE Programming Editor

Plateforme de support en ligne. Guide d utilisation

Débuter avec Easyweb B

EPIJEUX-WIN POUR MATERNELLE ET ELEMENTAIRE AUTEUR : JEAN-FRANÇOIS LUCAS. Documentation. «Labypro»

Installation locale de JOOMLA SEPIA

Service de certificat

X-Lite guide de configuration et d utilisation

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail v.8. Powered by. - media-2001.communication &.

iil est désormais courant de trouver sur Internet un document

Les outils numériques permettant l enregistrement de documents audiovisuels diffusés sur Internet sont nombreux. Certains sont gratuits.

Les 1 er pas sur. Guide d utilisation

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Transcription:

1 SRC2 S4 IMD Flash et serveur xml socket Réalisation réalisation d'un jeu temps réel réseau flash/serveur xml socket (http://195.83.128.55/~fmeuzeret/flashtp1s3/indexv8.swf) Exercice 1 : rotation de la fusée du joueur 1. créez un clip fusee avec une occurrence sur la scène (fusee1) 2. en utilisant les script suivant, mettez en œuvre la rotation de la fusee sur elle-meme lors de l appuie sur les touches flèches GAUCHE et DROITE script 1 : récupération des touches claviers var keyleft = false; var keyright = false; stage.addeventlistener(keyboardevent.key_up,key_up); stage.addeventlistener(keyboardevent.key_down,key_down); function key_up(event:keyboardevent) switch (event.keycode) case 37 : keyleft = false; case 39 : keyright = false;

2 SRC2 S4 IMD function key_down(event:keyboardevent) switch (event.keycode) case 37 : keyleft = true; case 39 : keyright = true; script 2 : test et exploitation des touches claviers addeventlistener(event.enter_frame, deplace); function deplace(ev:event) if(keyright) trace(«tourne a droite!») ; if(keyleft) trace(«tourne a gauche!») ; touches claviers SPACE : 32 / UP : 38 / DOWN : 40 / A : 65. Exercice 2 : déplacement de la fusée du joueur 3. en utilisant le script suivant, mettez en œuvre le déplacement de la fusee lors de l appuie sur les touches flèches HAUT //vit represente la vitesse d'avancement de la fusee en nombre de pixels par image fusee1.x+=vit*math.sin(fusee1.rotation/180*math.pi); fusee1.y-=vit*math.cos(fusee1.rotation/180*math.pi); Exercice 3 : positionnement du tir 1. lors de l'appuis sur la touche SPACE, positionner le missile sur la fusee en lui donnant la meme direction que la fusee et gérer son déplacement. Exercice 4: socket serveur Sur le web, les applications flash ne peuvent pas communiquer directement entre 2 clients. Toutefois, pour pouvoir interragir entre 2 clients flash distincts, il existe plusieurs techniques. 1) Passer par des pages php appelées depuis les applis flash. Ces pages php (ou autres, asp, jsp,...) peuvent alors stocker des infos dans des fichiers textes ou dans des bases

3 SRC2 S4 IMD de données (mysql par exemple). Simple mais temps de réponse élévé. Utilisable pour des appli de chat ou jeux tour par tour par exemple. 2) Utiliser «flash communication server» (et flash remoting sur le client) (nous utiliserons amfphp à la place de flash communication server). Cette option permet d'interfacer facilement une appli flash client avec tout type de serveur (mysql, sql server,...). comme la premiere solution, elle a pour inconvenient d'avoir un temps de réponse assez élevé. 3) Passer par un serveur type xml socket (aquaserver, origano,...), chaque appli flash ouvre alors une connexion avec le serveur. Le serveur renvoyant immédiatement toutes infos émises par un client aux autres clients. Les temps de réponses sont minimisés ce qui permet d'envisager du jeu réseaux rapide. Gros inconvénient: il faut pouvoir installer un serveur xml socket sur le serveur!!! envois des informations vers le socket serveur 2. sans s'occuper de l'optimisation des transferts réseaux, envoyer les coordonnées de la fusée ainsi que son nom et son angle de rotation vers le socket serveur sous la forme : <xml> <player> <pseudo>toto</pseudo> <x1>281</x1> <y1>277</y1> <r1>40</r1> </player> </xml> pour cela prévoir une zone de saisie pour l'adresse du serveur, une zone de saisie pour le pseudo du joueur, un bouton pour lancer la connexion vers le serveur et une zone de texte dynamique pour afficher des informations de débuggage.

4 SRC2 S4 IMD Vous devez maintenant déclarer votre objet permettant la connexion vers votre socket serveur : var monserveur = new XMLSocket(); Vous devez maintenant déclarer l'événement qui se déclenchera lorsque la connexion sera établie : monserveur.addeventlistener(event.connect, bienconnect); function bienconnect(ev:event) trace(«connexion etablie) ;... Vous devez maintenant déclarer l'événement qui se déclenchera lorsque la connexion recevra des données provenant du serveur : monserveur.addeventlistener(dataevent.data, recuperation); function recuperation (ev:dataevent) trace(«reception :»+ev.data) ;... Déclarer l'évenement clique sur le bouton connexion : dans cet évenement vous devez vous connecter sur le socket serveur : monserveur.connect( ***ip du serveur**, ** port du service ** );... dans la fonction bienconnect() déclarer l'évènement EnterFrame sur la scene permettant de mettre en route le déplacement de la fusée monserveur.addeventlistener(event.connect, bienconnect); function bienconnect(ev:event) trace(«connexion etablie) ; addeventlistener(event.enter_frame, deplace);

5 SRC2 S4 IMD Attention cet événement a déjà été déclaré tout au début de l'exercice! Penser à supprimer cette première déclaration. Vous pouvez tester la bonne connexion au serveur : 1) lancer le serveur (aquaserveur) 2) taper sur ce serveur la commande «list» rien ne doit apparaître 3) compiler votre fla et lancer le 4) sur le serveur, taper la commande «list» l'ip de votre poste client doit apparaître. 5) Vous pouvez lancer plusieurs «client» de votre application et taper «list» sur le serveur la liste des ip des clients doit apparaître lancer régulièrement dans l'évènement ENTER_FRAME ( même si cela n'optimise pas le trafic réseau!) le flux xml contenant les informations de position de la fusee1 <xml> <player> <pseudo>toto</pseudo> <x1>281</x1> <y1>277</y1> <r1>40</r1> </player> </xml> var commande= new XML(«<xml><player>... </player></xml>»); monserveur.send(commande); Faire afficher dans la fenetre de debug (ou avec un trace) le flux reçu par votre application grace à l'évènement DataEvent.DATA. (trace(ev.data) par exemple) Tout ce qui est envoyé par la commande monserveur.send() est récupérer quelques millisecondes plus tard grace à l'évènement DataEvent.DATA qui reçoit ce flux en provenance du serveur. Et cela pour tout les clients connectés sur le serveur. Vous pouvez parser ce flux rentrant avec l'objet XML var monxml:xml = new XML (ev.data); var liste:xmllist = monxml.elements(); trace(liste.pseudo) ; // ou debug.text =liste.pseudo trace(liste.x1) ;... en fait vous recevez les info du deuxieme client mais aussi les votres. Pour exclure vos propres information vous pouvez mettre en place un simple test : var monxml:xml = new XML (ev.data); var liste:xmllist = monxml.elements(); if(liste.pseudo!=pseudo.text) debug.text=liste.pseudo+" "+liste.x1; pour faire un test vous pouvez dupliquer votre fla et le lancer 2 fois pour vérifier le bon fonctionnement

6 SRC2 S4 IMD Créer une deuxieme fusee (fusee2 qui peut etre une occurrence de fuseetype avec une surteinte) et en plus d'afficher les info dans la fenetre de debug, vous positionnez cette fusee avec les coordonnées reçues. Attention cette appli n'est ici conçu que pour 2 connectés simultanéments. vous pouvez faire des tests entre 2 ordinateurs différents. Dans ce cas attention au notion d'autorisation d'accès de flash ainsi que les rêgles de firewall de vos différents postes. Il reste à reproduire le tir d'une appli à l'autre. Exercice 5: développer une version à plus de 2 joueurs en gérant correctement les données XML reçues. Gérer les collisions tir/fusee, (voir methode HitTest vue au semstre 1) avec un systeme de point (ex barre de vie qui diminue lorsqu'on est touché, voir TP sur le son semestre 1).