Sons, musiques et textes Flashcards
Quelle relation existe entre le SoundBuffer et Sound dans SFML?
Le SoundBuffer contient l’échantillonnage binaire du fichier sonore, et un Sound utilise cet échantillonnage. Ils fonctionnent de manière similaire au couple Sprite/Texture du module graphique.
Combien de fois doit-on charger un SoundBuffer?
Un SoundBuffer ne doit être chargé qu’une seule fois et plusieurs Sons peuvent l’utiliser.
Pourquoi le SoundBuffer doit-il rester présent en mémoire?
Comme pour les textures, le SoundBuffer doit rester présent en mémoire car les sons l’utilisent directement. Il est donc commun de le charger au début du jeu avec les autres ressources.
Quels formats audio sont supportés par SFML?
SFML supporte les formats WAV, OGG/Vorbis et FLAC.
Pourquoi le format MP3 n’est-il pas supporté par SFML?
En raison de l’octroi de licences, le format MP3 n’est pas supporté.
Comment devrait-on gérer les sons pour les acteurs dans un jeu?
Chaque acteur devrait porter ses propres sons, car si plusieurs acteurs essaient de jouer le même son, celui-ci va se relancer à répétition, probablement avant même d’avoir eu le temps de se terminer.
Quelle est la différence entre un son et une musique dans SFML?
La musique est un flux direct de données à partir du fichier sonore (lecture directe sans tampon), tandis qu’un son utilise un SoundBuffer qui contient l’échantillonnage binaire complet du fichier.
Quelles opérations peut-on effectuer sur une musique dans SFML?
On peut faire play, pause, stop, se placer à un point précis de la pièce. On peut aussi modifier le volume, la fréquence (pitch), et mettre la musique en boucle ou non.
Quelle relation existe entre la classe Text et Font dans SFML?
La relation entre Text et Font est similaire à celle de Sprite et Texture. Un texte utilise une police de caractères (dans un format ttf), et une police de caractères peut servir à plusieurs textes.
Quel format de fichier est utilisé pour les polices de caractères dans SFML?
Les polices de caractères utilisent le format ttf (TrueType Font).
Comment charge-t-on une police de caractères dans SFML?
Font font;
if (!font.loadFromFile(“arial.ttf”)) {
// Gérer l’erreur…
}
Comment assigne-t-on une police à un texte dans SFML?
On utilise la méthode setFont: text.setFont(font);
Comment peut-on changer la taille d’un texte dans SFML?
On utilise la méthode setCharacterSize: text.setCharacterSize(24);
Comment définit-on la couleur d’un texte dans SFML?
On utilise la méthode setFillColor: text.setFillColor(sf::Color::Red);
Comment peut-on appliquer un style (gras, souligné) à un texte dans SFML?
On utilise la méthode setStyle: text.setStyle(Text::Bold | Text::Underlined);
Quelles transformations peut-on appliquer à un Text dans SFML?
Comme pour un Sprite, on peut appliquer des transformations comme le positionnement/translation, la rotation et la mise à l’échelle, bien que le positionnement soit la transformation la plus utilisée.
Comment centre-t-on l’origine d’un texte dans SFML?
text.setOrigin(text.getGlobalBounds().width / 2, text.getGlobalBounds().height / 2);
Pourquoi faut-il recalculer l’origine d’un texte si son contenu change?
Parce que la taille du texte dépend de son contenu. Si le contenu change, il faut refaire le calcul d’origine pour que la position reste centrale.
Quelle est l’approche recommandée pour les textes dont le contenu change souvent?
Pour un texte dont le contenu change souvent, il est recommandé de garder son point de pivot en haut à gauche (l’origine par défaut).
Comment peut-on convertir un nombre en chaîne de caractères pour l’afficher dans un texte SFML?
On peut utiliser la fonction std::to_string pour convertir un nombre en chaîne de caractères, ou utiliser les flots de sortie (ostringstream) pour concaténer du texte.