GRAPHISME PAR ORDINATEUR

Slides:



Advertisements
Présentations similaires
Bratec Martin ..
Advertisements

NOTIFICATION ÉLECTRONIQUE
Fragilité : une notion fragile ?
SEMINAIRE DU 10 AVRIL 2010 programmation du futur Hôtel de Ville
Phono-sémantique différentielle des monosyllabes italiens
MAGGIO 1967 BOLOGNA - CERVIA ANOMALIES DU SOMMEIL CHEZ L'HOMME
droit + pub = ? vincent gautrais professeur agrégé – avocat
Transcription de la présentation:

GRAPHISME PAR ORDINATEUR SIF-1032

Contenu du cours 10 Graphisme 2D (SpriteBatch, texture) SpriteBatch (utilisation de la classe SpriteBatch) Textures multiples (animation 2D) Rotation de textures Superposition et transparence de textures Engin de particules

Graphisme 2D (SpriteBatch, texture) La classe SpriteBatch peut être utilisée pour introduire et animer des textures dans une scène. Les textures 2D sont en fait des images 2D qui peuvent être insérées dans notre scène Pour permettre l’utilisation de textures il faut d’abord réserver l’espace pour stocker les images 2D par ces déclarations dans la classe de notre jeu: Ensuite nous pouvons charger nos textures dans la méthode LoadContent():

Graphisme 2D (SpriteBatch, texture) Déclaration d’une classe SpriteBatch et instantiation de la classe SpriteBatch dans la méthode LoadContent() Pour dessiner une texture avec la méthode Draw() de la classe SpriteBatch appelée dans la méthode Draw() de notre jeu:

Graphisme 2D (SpriteBatch, texture) Affichage du background

Graphisme 2D (SpriteBatch, texture) Ajout d’autres textures en utilisant un mode d’affichage différent

Graphisme 2D (SpriteBatch, texture) Ajout d’autres textures en utilisant un mode d’affichage différent (Affichage)

Graphisme 2D (SpriteBatch, texture) Nous pouvons animer des objets 2D en utilisant différentes images du même objet à des positions différentes que nous affichons ensuite en séquence. Une série d’images du même objet peut être associée à un atlas de textures. Un atlas de textures est une grande image de toutes les textures impliquées dans l’animation

Graphisme 2D (SpriteBatch, texture) Pour créer une animation à partir d’un atlas de textures nous devons d’abord créer une nouvelle classe (ex: AnimatedSprite.cs) Ajout des énoncés using suivants: Ajout des variables d’instance:

Graphisme 2D (SpriteBatch, texture) Code de la méthode Update(): Code la méthode Draw(): width et height sont les largeur et hauteur de la texture Columns et Rows la largeur et hauteur de l’atlas de texture row et colomn les indices de la texture dans l’atlas

Graphisme 2D (SpriteBatch, texture) Code de la classe AnimatedSprite:

Graphisme 2D (SpriteBatch, texture) Utilisation de la classe AnimatedSprite (Insertion dans la classe principale de notre jeu) Chargement de l’atlas de texture et instantiation de la classe AnimatedSprite Mise à jour de la texture (sélection de la texture) par la méthode Update() de la classe AnimatedSprite Appel de la méthode Draw() de la classe AnimatedSprite

Graphisme 2D (SpriteBatch, texture) Affichage de l’atlas de textures

Graphisme 2D (SpriteBatch, texture) Code de l’application

Graphisme 2D (SpriteBatch, texture) Code de l’application (suite…)

Graphisme 2D (SpriteBatch, texture) Si nous voulons faire la rotation d’un texture, nous pourrions ajouter à la section déclaration de notre classe principale Charger la texture dans la méthode LoadContent() Faire la mise-à-jour de l’angle dans la méthode Update()

Graphisme 2D (SpriteBatch, texture) Affichage d’une texture avec une rotation avec la méthode Draw()

Graphisme 2D (SpriteBatch, texture) Les effets de superposition de couleur et de transparence permettent de superposer des objets. Si nous utilisons un modèle de superposition additif nous pourrions avoir comme mélange de couleur:

Graphisme 2D (SpriteBatch, texture) Création et Chargement de textures permettant la superposition de couleur (exemple) Pour permettre le mouvement de ces textures

Graphisme 2D (SpriteBatch, texture) Mise-à-jour des angles (Update()) et positions des textures et affichage des textures (Draw())

Graphisme 2D (SpriteBatch, texture) Affichage de textures superposées

Graphisme 2D (SpriteBatch, texture) Création d’un engin de particules, création d’une classe Particule, déclaration des variables d’instance de cette classe

Graphisme 2D (SpriteBatch, texture) Classe Particule, méthode Update(), méthode Draw() Une particule se déplace et subit une rotation ainsi qu’une durée de vie décroissante (TTL--)

Graphisme 2D (SpriteBatch, texture) Code la classe Particule

Graphisme 2D (SpriteBatch, texture) Création d’un engin de particules, création d’une classe ParticuleEngine, déclaration des variables d’instance de cette classe, code du constructeur de cette classe

Graphisme 2D (SpriteBatch, texture) Code du générateur de particule de la classe ParticuleEngine

Graphisme 2D (SpriteBatch, texture) Code de la méthode Update() de la classe ParticuleEngine

Graphisme 2D (SpriteBatch, texture) Code de la méthode Draw() de la classe ParticuleEngine

Graphisme 2D (SpriteBatch, texture) Code complet de la classe ParticuleEngine

Graphisme 2D (SpriteBatch, texture) Code complet de la classe ParticuleEngine (suite …)

Graphisme 2D (SpriteBatch, texture) Création d’une instance de la classe ParticuleEngine , chargement des textures (particules) par la méthode LoadContent(), mise-à-jour du générateur de particules dans la méthode Update():

Graphisme 2D (SpriteBatch, texture) Affichage découlant de l’exécution du générateur de particules

Graphisme 2D (SpriteBatch, texture) Code complet du jeu

Graphisme 2D (SpriteBatch, texture) Code complet du jeu (suite …)