Полезное

Мы Вконтакте

Discord канал

#
Аватара пользователя
Пользователь
Сообщения: 4
Сделал функцию чтобы по окончанию раунда вызывался виджет и проигрывался определенный звуковой файл. И тут возникла проблема звуковой файл постоянно повторяется пока открыт виджет а сам звук какой то искаженный не четкий и как будто из бочки
вот код:
wigets.ccp
FText SRoundScoreboardWidget::GetMatchOutcomeText() const
{
FText OutcomeText = FText::GetEmpty();

if (MatchState == EGamesMatchState::Won)
{
PlaySound(ScoreboardStyle->WinnerhangeSound, NULL, NULL);
OutcomeText = LOCTEXT("Winner", "Вы победитель!");
}
else if (MatchState == EGamesMatchState::Lost)
{
PlaySound(ScoreboardStyle->LooserChangeSound, NULL, NULL);
OutcomeText = LOCTEXT("Loser", "Раунд проигран ");
}

return OutcomeText;
}

Подскажите пожалуйста как исправить данный косяк.
Аватара пользователя
Тех. администратор
Сообщения: 367
GetMatchOutcomeText - это логически неконстантная функция, коль скоро вы в ней воспроизводите звук. В этом и кроется ошибка. Сделайте отдельную функцию для воспроизведения звука.

Почему так происходит? Я полагаю, потому, что там где вы используете GetMatchOutcomeText вам никто не гарантирует, что функция вызовется единожды. Например, в датабайндингах.


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 46

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница