Yume Project 3.0
Touhou-inspired Danmaku game made in C only
Chargement...
Recherche...
Aucune correspondance
Référence du fichier sprite.h

Composante du sprite. Plus de détails...

#include "components/common.h"
#include "ecs/component.h"
#include <raylib.h>
#include <stdbool.h>

Aller au code source de ce fichier.

Classes

struct  Sprite
 Composante Sprite dans l'ECS Cette composante sert à associer une texture à une Entité. Contient les informations d'affichage de la texture ainsi que de son animation. Plus de détails...

Fonctions

void Sprite_set_texture (Sprite *sprite, int renderPriority, int textureID)
 Ajoute une texture avec les valeurs pas défauts.
void Sprite_set_animation (Sprite *sprite, int frameCount, int delay)
 Configure l'animation d'un sprite.
void Sprite_set_SourceRect (Sprite *sprite, float x, float y, float width, float height)
 Définit le rectangle source pour le sprite.
void UpdateAnimation (Sprite *sprite)
 Met à jour l'état d'animation interne d'un sprite.
void Sprite_draw_sprite (Sprite *sprite, Position *pos, Tag *tag)
 Dessine un sprite à la position donnée.
void Sprite_draw_all (Pool *pool)
 Dessine tous les sprites présents dans la pool.
void Sprite_draw_range (Pool *p, int min_layer, int max_layer)
 Dessine les sprites dont la renderPriority est dans l'intervalle.

Description détaillée

Composante du sprite.

Ce module gère l'affectation d'un sprite à une entité et son affichage.

DONNÉES :

  • textureID : ID définies dans assets.h
  • srcRect : Rectangle définissant le sprite
  • center : Point du srcRect représentant son centre. (pour hitbox et la rotation)
  • scale : Agrandissement de l'image
  • color : Couleur d'affichage raylib
  • renderPriority : Priorité d'affichage (1 - 100) -> z bas <=> affiché en fond
  • display : activation de l'affichage

Documentation des fonctions

◆ Sprite_draw_all()

void Sprite_draw_all ( Pool * pool)
extern

Dessine tous les sprites présents dans la pool.

Dessine les sprites selon leur renderPriority.

Paramètres
poolpool courante (toutes les données de l'ECS)

◆ Sprite_draw_range()

void Sprite_draw_range ( Pool * p,
int min_layer,
int max_layer )
extern

Dessine les sprites dont la renderPriority est dans l'intervalle.

Paramètres
pPointeur vers la Pool.
min_layerCouche minimale (inclusive).
max_layerCouche maximale (inclusive).

◆ Sprite_draw_sprite()

void Sprite_draw_sprite ( Sprite * sprite,
Position * pos,
Tag * tag )
extern

Dessine un sprite à la position donnée.

Paramètres
spritesprite à dessiner
posposition à laquelle dessinner le sprite
tagCe tag est utilisé pour savoir si l'entité doit ignorer la rotation ou non

◆ Sprite_set_animation()

void Sprite_set_animation ( Sprite * sprite,
int frameCount,
int delay )
extern

Configure l'animation d'un sprite.

Paramètres
spritesprite à configurer.
frameCountNombre total de frames dans l'animation.
delaydélai entre chaque frame de l'animation.

◆ Sprite_set_SourceRect()

void Sprite_set_SourceRect ( Sprite * sprite,
float x,
float y,
float width,
float height )
extern

Définit le rectangle source pour le sprite.

Utilisé pour sélectionner une portion de la texture comme image du sprite.

Paramètres
spritesprite à configurer.
xcoordonnée X du coin supérieur gauche dans la texture.
ycoordonnée Y du coin supérieur gauche dans la texture.
widthlargeur du rectangle source.
heighthauteur du rectangle source.

◆ Sprite_set_texture()

void Sprite_set_texture ( Sprite * sprite,
int renderPriority,
int textureID )
extern

Ajoute une texture avec les valeurs pas défauts.

Paramètres
spriteComposante du sprite
renderPriorityLayer a laquelle on affiche le sprite
textureIDID de la texture a utiliser (assets.h)

VALEURS PAR DEFAUT :

  • srcRect : texture entière
  • center : centre de la texture
  • scale : 1x1
  • rotation : 0
  • non animé // TODO: faire un autre systeme?

◆ UpdateAnimation()

void UpdateAnimation ( Sprite * sprite)

Met à jour l'état d'animation interne d'un sprite.

Incrémente le timer d'animation et change la texture actuellement affichée si nécessaire

Paramètres
spritePointeur vers le Sprite.