420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.

Slides:



Advertisements
Présentations similaires
1 JavaScript V0 : Nauer. 2 JavaScript Quid ? Langage de programmation lié à HTML. Code JavaScript intégré aux pages HTML. Code interprété par le navigateur.
Advertisements

Formation universitaire à .NET: Introduction à C#
Portée des variables VBA & Excel
Interactivé: L'Action Script.
Cours du 28/09/2009. Le dossier système des gadgets Pour accéder au dossier système des gadgets, cliquez sur Démarrer, tapez %userprofile%\appdata\local\microsoft\windows.
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
12 novembre 2012 Grégory Petit
Gestion de la communication par établissement sur le site ville
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Développement d’applications web
CPI/BTS 2 Programmation Web Introduction au PHP
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Présentation de la séquence de cours sur les interactions HTML-javascript Laure Walser, 11 juin 2010.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Le langage Javascript pour le web
Support d’accompagnement de l’atelier Excel – les bases
Méthode de suppression des cadres entourant les animations flash et activation automatique de leur focus lors du chargement des pages dans Internet Explorer.
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
1 PROTOTYPE PGC++ Vecteur_3D DÉFINITION. 2 class Vecteur_3D { private : float vx, vy, vz, vw; // Représentation en coordonnées homogènes. public : Vecteur_3D();
Initialisation des sites web Étapes importantes. La conversion de vos comptes Web nest pas terminée (après discussion avec les techniciens voici comment.
Animateur : Med HAIJOUBI
TP n°2 Javascript EVENEMENTS ET OBJETS
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Javascript 2° PARTIE : EVENEMENTS ET OBJETS
Javascript les spécificités du langage - Partie 5 -
JavaScript Nécessaire Web.
Création d’une application complète
Comment utiliser FrontPage?
Programmation créative – Les vecteurs
Tutorat en bio-informatique Le 14 novembre Au programme… Les objets –Propriétés (attributs) –Constructeurs –Méthodes.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
S'initier au HTML et aux feuilles de style CSS Cours 5.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
1 Tutoriel SPIP Rédacteur. 2 Sommaire Connexion Interface SPIP Menu SPIP Rédiger un article Interface de création d’un article Fonctionnalités de base.
Conception des pages Web avec
La programmation créative Scratch
Programmation créative Semaine 03. Agenda de leçon  Rotation d’un sprite  Modifier la couleur d’un sprite.
Scratch Partie 03 Version A15.
Formation Didapages Gilles BADUFLE À partir d’un PPT modifié du C.A.H.M.
Programmation créative – Les vecteurs
Dreamweaver Séance 1.
1 Présentation de DREAMWEAVER (1) Gaël TREMEAU GI05 Printemps 2006.
DREAMWEAVER Première séance Villaron Audrey – Shibly Tarek.
Exposé DREAMWEAVER 2 Guillaume DUBREUIL Adrien HADOUX.
Réalisation d'un jeu de tir aux Canards Florian GAUCHER Alexandre LEVY SI 28 Exposé Flash 3.
FLASH SEANCE 2 Interaction avec Action Script. Action script Langage de programmation utilisé par Flash. Définir des propriétés, des actions des comportements.
** Flash séance 2 Action script. ** Action Script Ajoute de l’interactivité Permet de contrôler les clips  Langage de programmation orienté objet.
Flash MX – Séance 2 Interactions & ActionScript David Rapin Si28 P06.
Plan de la présentation Le langage HTML Dreamweaver MX Les premiers outils pour créer une page web :  Propriétés d’une page  Création de cadres  Création.
Amine Benabdennbi - Omar Berrada Rekhami Flash 2 – Interactivité Avancée Flash 2 Séance de Flash n°2 TD SI28 du 16/04/2007 Amine Benabdennbi Omar Berrada.
Réalisation d’un jeu de tir au canards. Page d’accueil Télécharger les fichiers sources. Importez les images parchemins et fond_shoot Insérer l’image.
DREAMWEAVER SEANCE 1 Axel JACQUET GM05 – Julien VAN MOORLEGHEM GM05 A2008 Écriture interactive & multimédia Présentation Dreamweaver 8.
EXPOSE FLASH 2 SI 28 24/10/2006 Delphine GODREAU Hélène PERRIER.
Dreamweaver 2 Feuilles de Style CSS Formulaires Calques Comportements
Les calques Les Template (modèles) Les Comportements Les scénarios Les formulaires Les CSS Le serveur Web de l’UTC Présentation.
BOUTET Antoine MARICOT Benoit ActionScript Flash Séance 2.
Flash – séance 2 Interactions avec Action Script.
1 er séance SI28 A2004 YIN Lei Emmanuel Eugene. Plan de l’exposé  Introduction au HTML  Le HTML dans le bloc-notes (notepad)  Présentation de Dreamweaver.
INITIATION AU DÉVELOPPEMENT DE JEU VIDÉO
Transcription de la présentation:

420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1

Spaceball 2

Description Ce laboratoire consiste à mettre en pratique la programmation objet en JavaScript ainsi que la balise Canvas. Notez que Canvas nest actuellement pas supporté par Internet Explorer Ce laboratoire est expliqué étape par étape, il est fortement (mais pas obligatoirement) conseillé de les suivre. 3

But du jeu Aller le plus loin possible avec la balle sans quelle ne tombe entre les blocs Les commandes : A = Aller vers la gauche D = Aller vers la droite Barre despace = Sauter (faire bondir la balle) La logique est telle que lorsque la balle nest pas en collision avec un bloc, sa vélocité verticale (y) augmente de 0.4 à chaque frame/boucle/temps de jeu. 4

Étape 0 - Compréhension de Algorithme Initialisation du monde (ex: function initialiserMonde() {...} ) Création de lobjet balle Création des blocs Chargement en mémoire de limage de fond Quand limage est chargée, alors débuter le jeu Fonction principale du jeu Dessiner limage de fond Pour chaque bloc Dessiner Faire le déplacement de la balle Vérifier pour les collisions avec la balle Si sa position Y est trop grande, alors la balle est tombée / Fin de la partie 5

Étape 0 - Compréhension de Algorithme (suite) Si ce nest pas la fin de la partie afficher la balle Rappeler la fonction principale du jeu (dans 30ms) 6

Étape 1 – Fonctions de base La première étape consiste à faire une balise Canvas Une fonction JavaScript : initWorld() ou initialiserMonde() Cette fonction place le contexte du Canvas comme variable globale Faire la fonction worldStep() qui est rappelé à chaque 30ms 7

Étape 2 – Image de fond Ajouter la logique permettant de dessiner limage de fond au jeu (space.jpg) Cette logique doit être la première étape de la méthode principale du jeu (worldStep) 8

Étape 3 – Les blocs La troisième étape : Créer la classe Bloc Propriétés : posX,posY, grosseur (40px) Méthodes step()// sa couleur rgba(0, 0, 200, 0.4) verifierCollision(x, y) Après avoir créé la classe, fiare une série de blocs et les conserver dans un tableau La création devrait avoir lieu dans la méthode initWorld() À ce point-ci, il est possible de faire une logique permettant de faire des espaces vides entre les blocs 9

Étape 4 – Création de lobjet Balle La quatrième étape : Créer la classe Balle Propriétés: posX, posY, estTombé (booléen) velociteX, velociteY Méthodes: Step : Cette méthode permet de : -dessiner la balle -Vérifier les collisions (à faire à la fin) ajouterForceX, ajouterForceY -Permet de modifier la vélocité (x et y) Sauter -Si la vélocité y est à 0, alors on la met à

Étape 4 - suite La vélocité est une force de déplacement dans une direction. À chaque itération du jeu (worldStep), on modifie la position de la balle selon sa vélocité: posX = posX + velocityX posY = posY + velocityY Les contrôles (A,D,Espace) ne modifient donc pas directement la position de la balle, mais plutôt sa vélocité. Si saute, velocityY = -15; (par exemple) 11

Étape 5 – Ajouter les contrôles de la balle Voici une logique de base pour le contrôle de la balle. Ceci permet de gérer les événements au clavier document.onkeydown = keydown; document.onkeyup = keyup; var leftPushed = false; var rightPushed = false; function getKeyCode(e) { if (navigator.appName == "Microsoft Internet Explorer") { return event.keyCode; // not a typo. } return e.which; } 12

Étape 5 - Suite function keydown(e) { var unicode = getKeyCode(e); if (unicode == 65 || unicode == 97) { leftPushed = true; } else if (unicode == 68 || unicode == 100) { rightPushed = true; } else if (unicode == 32) { // ball.jump(); - à lier avec la balle, selon votre nom de variable/fonction } function keyup(e) { var unicode = getKeyCode(e); if (unicode == 65 || unicode == 97) { leftPushed = false; } else if (unicode == 68 || unicode == 100) { rightPushed = false; } 13

Étape 6 – Faire lalgorithme de collision Pour chaque bloc, on verifie sil y a collision avec x, y (qui est le posX et posY de la balle). Si aucune collision, on ajoute à la vélocitéY: 0.4 Sil y a un collision, on inverse la vélocité divisé par 2 14

Étape 7 et + Les étapes précédentes permettent de donner une base pour le développement du jeu. Ces étapes sont cependant incomplètes pour donner une version pareille à la version de lenseignant Le but du laboratoire est cependant atteint : La programmation objet en JavaScript La balise Canvas 15