Основная программа < /h1>
Код: Выделить всё
#include "fonctions.h"
int main(){
sf::Music musique;
musique.openFromFile("audio/musique/song.mp3");
musique.play();
musique.setLoop(1);
SetConsoleOutputCP(65001);
utilisatoireInput();
while(1){
if(sf::Keyboard::isKeyPressed(sf::Keyboard::X)){
utilisatoireInput();
}
if(sf::Keyboard::isKeyPressed(sf::Keyboard::Left) && !(position%ligne==0)){
anciennePosition = position;
position--;
actuafficher();
}
if(sf::Keyboard::isKeyPressed(sf::Keyboard::Right) && (position%ligne !=ligne-1) && (position != planLongueur - 1)){
anciennePosition = position;
position++;
actuafficher();
}
if(sf::Keyboard::isKeyPressed(sf::Keyboard::Up) && position > ligne - 1){
anciennePosition = position;
position -= ligne;
actuafficher();
}
if(sf::Keyboard::isKeyPressed(sf::Keyboard::Down) && position < planLongueur - ligne){
anciennePosition = position;
position += ligne;
actuafficher();
}
if(sf::Keyboard::isKeyPressed(sf::Keyboard::Escape)){
musique.setLoop(0);
musique.stop();
musique.openFromFile("audio/sfx/oof.mp3");
musique.play();
}
if(musique.getStatus() == sf::SoundSource::Status::Stopped)
break;
}
return 0;
}
< /code>
файл заголовка < /h1>
#pragma once
#include
#include
#include
#include
#include
#include
#include
std::vector plan{'a','b','c','d','e'}; //filling this with random variables because it crashes no matter what otherwise
unsigned int planLongueur; //plane length.
unsigned int ligne; //line length if l=L
unsigned int position; //location on the plane (centered)
unsigned int anciennePosition; //previous position.
void init(){ //initialize plan by plane length
for(int i = 0; i < planLongueur; i++)
plan[i] = '.';
plan[position] = '@';
}
void afficher(){ //update display.
system("cls");
for(int i = 0; i < planLongueur; i++){
std::cout
if(sf::Keyboard::isKeyPressed(sf::Keyboard::Escape)){
break;
}
return 0;
}
< /code>
вместо < /p>
if(sf::Keyboard::isKeyPressed(sf::Keyboard::Escape)){
musique.setLoop(0);
musique.stop();
musique.openFromFile("audio/sfx/oof.mp3");
musique.play();
}
if(musique.getStatus() == sf::SoundSource::Status::Stopped)
break;
}
return 0;
}
< /code>
Это работало нормально. Затем я начал удалять некоторые музыкальные заявления вверху, переходя от: < /p>
int main(){
sf::Music musique;
musique.openFromFile("audio/musique/kaos.mp3");
musique.play();
musique.setLoop(1);
//rest of the program
< /code>
только к: < /p>
int main(){
sf::Music musique;
//rest of the program
< /code>
Это все еще работало. И только когда я наконец удалил эту единственную линию объявления SF :: Music Object, он начал сбиваться с подсказкой, как и раньше. Так что, если у кого -то из вас есть идея, как это заставляет всю мою векторную настройку не крутиться, я был бы более чем рад услышать это. Кроме того, не стесняйтесь советовать мне о хорошей практике. Как я уже сказал, я все еще учусь, и у меня еще нет достаточно знаний, чтобы сделать программы, которые имеют несколько «профессиональное» приложение. Спасибо!
Подробнее здесь: [url]https://stackoverflow.com/questions/79417768/sfmusic-prevents-my-program-from-crashing[/url]
Мобильная версия