GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores...

18
GRAPHISME PAR ORDINATEUR SIF-1032

Transcript of GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores...

Page 1: GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores –Interaction clavier –Interaction souris –Interaction manette.

GRAPHISME PAR ORDINATEUR

SIF-1032

Page 2: GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores –Interaction clavier –Interaction souris –Interaction manette.

Contenu du cours 11• Interaction Joueur/Jeu, effets sonores

– Interaction clavier– Interaction souris– Interaction manette XBOX– Ajout de sons

Page 3: GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores –Interaction clavier –Interaction souris –Interaction manette.

Interaction Joueur/Jeu (clavier)

• La classe KeyboardState peut être utilisée pour avoir accès à l’état du clavier

• Nous pouvons ajouter les interaction entre le joueur et le clavier dans la méthode Update():

• Vérifier si la touche left est pressée:

Page 4: GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores –Interaction clavier –Interaction souris –Interaction manette.

Interaction Joueur/Jeu (clavier)

• Pour savoir si l’état d’une touche a changé dans le temps, nous devons d’abord ajouter une variable d’instance dans la classe principale qui contient l’état au temps -1.

• Dans la méthode Update() nous pouvons alors comparer l’état d’une touche

• Nous pouvons aussi avoir accès à la liste de touches dont l’état a changé

Page 5: GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores –Interaction clavier –Interaction souris –Interaction manette.

Interaction Joueur/Jeu (clavier)

• Nous pouvons aussi vérifier l’état de combinaisons de touches (ex: Ctrl-C)

Page 6: GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores –Interaction clavier –Interaction souris –Interaction manette.

Interaction Joueur/Jeu (clavier)

• Code complet:

Page 7: GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores –Interaction clavier –Interaction souris –Interaction manette.

Interaction Joueur/Jeu (clavier)

• Code complet:

Page 8: GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores –Interaction clavier –Interaction souris –Interaction manette.

Interaction Joueur/Jeu (souris)

• La classe MouseState peut être utilisée pour avoir accès à l’état de la souris

• Nous pouvons ajouter les interaction entre le joueur et la souris dans la méthode Update():

Page 9: GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores –Interaction clavier –Interaction souris –Interaction manette.

Interaction Joueur/Jeu (souris)• Pour savoir si l’état de la souris a changé dans le temps, nous devons d’abord

ajouter une variable d’instance dans la classe principale qui contient l’état au temps -1.

• Dans la méthode Update() nous pouvons alors comparer l’état de la souris

• Pour extraire la position du curseur:

Page 10: GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores –Interaction clavier –Interaction souris –Interaction manette.

Interaction Joueur/Jeu (souris)

• Code complet:

Page 11: GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores –Interaction clavier –Interaction souris –Interaction manette.

Interaction Joueur/Jeu (souris)

Page 12: GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores –Interaction clavier –Interaction souris –Interaction manette.

Interaction Joueur/Jeu (souris)

Page 13: GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores –Interaction clavier –Interaction souris –Interaction manette.

Interaction Joueur/Jeu (manette XBOX)

• Boutons et contrôles

Page 14: GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores –Interaction clavier –Interaction souris –Interaction manette.

Interaction Joueur/Jeu (manette XBOX)

• La classe GamePadState peut être utilisée pour avoir accès à l’état de la manette XBOX

• Nous pouvons ajouter les interaction entre le joueur et la manette dans la méthode Update():

• Vérifier si la touche X est pressée et la direction du DPad:

Page 15: GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores –Interaction clavier –Interaction souris –Interaction manette.

Interaction Joueur/Jeu (manette XBOX)

• Nous pouvons ajouter les interactions entre le joueur et la manette dans la méthode Update(). Vérifier si la position en X et Y des thumbstick (-1,1) et celle des triggers (0,1):

Page 16: GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores –Interaction clavier –Interaction souris –Interaction manette.

Interaction Joueur/Jeu (manette XBOX)

• Pour savoir si l’état de la manette a changé dans le temps, nous devons d’abord ajouter une variable d’instance dans la classe principale qui contient l’état au temps -1.

• Dans la méthode Update() nous pouvons alors comparer l’état d’une touche

Page 17: GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores –Interaction clavier –Interaction souris –Interaction manette.

Interaction Joueur/Jeu (manette XBOX)

• Pour insérer des effets sonores dans un jeu, nous devons d’abord ajouter une variable d’instance dans la classe principale

• Nous chargeons notre effet sonore dans la classe LoadContent():

• Pour jouer l’effet sonore (méthode Play()):

• Pitch: -1 /+1 octave, pan choix des hauts-parleurs (0: deux)

Page 18: GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 11 Interaction Joueur/Jeu, effets sonores –Interaction clavier –Interaction souris –Interaction manette.

Interaction Joueur/Jeu (manette XBOX)

• Pour avoir un meilleur contrôle des effets sonores dans un jeu, nous pourrions utiliser la classe SoundEffectInstance: