GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 10 Graphisme 2D (SpriteBatch, texture)...
-
Upload
gratien-durand -
Category
Documents
-
view
111 -
download
1
Transcript of GRAPHISME PAR ORDINATEUR SIF-1032. Contenu du cours 10 Graphisme 2D (SpriteBatch, texture)...
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 …)