SF :: Музыка предотвращает сбою мою программу?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 SF :: Музыка предотвращает сбою мою программу?

Сообщение Anonymous »

Я все еще довольно новичок в C ++, поэтому я только нахожусь в точке, где я делаю глупые программы, которые не служат определенной цели и не имеют конечного состояния. Вот тот, который я прошу помощь: < /p>
Основная программа < /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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»