Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
ArtTemiy
0 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 2
#1

Виснет графика в SDL - C++

01.02.2016, 01:37. Просмотров 236. Ответов 0

Здравствуйте, пишу программу, которая меняет две картинки под музыку, после нескольких секунд музыка продолжает играть, но картинки не меняются и программа получает статус "не отвечает". Почему? Буду благодарен за помощь.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <SDL.h>
#include <SDL_mixer.h>
#include <stdio.h>
#include <string>
#include <iostream>
using namespace std;
 
int main( int argc, char* args[] ){
 
 
    int Delay_Time = 227;
 
    // initialization of sdl subsystems
    if (SDL_Init(SDL_INIT_EVERYTHING) != 0){
        std::cout << "SDL_Init Error: " << SDL_GetError() << std::endl;
        return 1;
    }
 
    //initialization of window
    SDL_Window *win = SDL_CreateWindow("window", 100, 100, 640, 360, SDL_WINDOW_SHOWN);
    if (win == NULL){
        std::cout << "SDL_CreateWindow Error: " << SDL_GetError() << std::endl;
        return 1;
    }
 
    //initialization of render
    SDL_Renderer *ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
    if (ren == NULL){
        std::cout << "SDL_CreateRenderer Error: " << SDL_GetError() << std::endl;
        return 1;
    }
 
    //loading images
    SDL_Surface *p1 = SDL_LoadBMP("IGM/p1.bmp");
    SDL_Surface *p1 = SDL_LoadBMP("IGM/p2.bmp");
 
    //creating textures
    SDL_Texture *t1 = SDL_CreateTextureFromSurface(ren, p1);
    SDL_Texture *t2 = SDL_CreateTextureFromSurface(ren, p2);
 
    //loading music
    Mix_Music *mus = NULL;
    if(Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 2048) < 0 ) return 1;
    mus = Mix_LoadMUS("MSC/mus.wav");
    if(mus == NULL)
    {
        std::cout <<"loading music error: " << Mix_GetError();
        return 1;
    }
 
    while(1){
 
        //playing music
        if(Mix_PlayingMusic() == 0) if(Mix_PlayMusic(mus, -1) == 0);
 
        //showing first image
        SDL_RenderClear(ren);
        SDL_RenderCopy(ren, t2, NULL, NULL);
        SDL_RenderPresent(ren);
        SDL_Delay(Delay_Time);
 
        //showing second image
        SDL_RenderClear(ren);
        SDL_RenderCopy(ren, t1, NULL, NULL);
        SDL_RenderPresent(ren);
        SDL_Delay(Delay_Time);
    }
    Mix_FreeMusic(mus);
    mus = NULL;
    SDL_DestroyRenderer(ren);
    SDL_DestroyWindow(win);
    Mix_Quit();
    SDL_Quit();
    return 0;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2016, 01:37     Виснет графика в SDL
Посмотрите здесь:

SDL Графика. - C++
Добрый день! Не могу соединить два проекта, в одном изображение переводится в ч\б, во втором тонируется изображение. Мне нужно получить...

Не компилится SDL - Visual C++
Подкючил lib'ы скачанные с libsdl.org, dll лежит в папке с проектом, хидеры тоже включил. Не хочет компилится и все тут.

Подключение SDL - C++ Builder
Помогите пожалуйста установить библиотеку SDL под с ++ Embarcadero XE 5. Скачал исходники SDL с офф сайта но там куча файлов и мои глаза...

SDL - Конфигурирование - C++
Всем доброго времени суток. Недавно натолкнулся проблему с настройкой SDL. Дело в том, что мне нужно отключить переадресацию stdio с...

Некомпилируется SDL - Visual C++
Я уже замучался с этой либой несколько дней немогу запустить элементарный проект Делаю все по инструкции ...

Sdl, debian и с++ - C++ Linux
Добрый день. Уважаемые форумчане есть два вопроса, но ответ требует только один. 1) как в debian поставить SDL_image 2 версии? ...

Пасьянс SDL - Кроссплатформенная разработка
Добрый день. Только начала знакомство с SDL и получила задание: написать программу,которая строит один из видов пасьянсов. Две демонстрации...

Прилинковать SDL к V.S. 2010 - C++
Доброго всем вечера. Я знаю, что подобных тем было много, но, справиться с проблемой не могу. Скачал с оф.сайта все .h, SDL.lib,...

Подключение библиотеки SDL - Visual C++
как правильно надо подключать библиотеку? хедеры кинул в include/SDL2 dll в bin lib в lib vsexpress 2008 1&gt;------ Построение...

Использование библиотеки SDL - C++ Builder
Написать программу, которая будет с сайта ЦБРФ запрашивать текущий курс валюты, отображать курсы валют с использованием библиотеки SDL и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru