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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ [mingw] не видит <codecvt> http://www.cyberforum.ru/cpp/thread1652249.html
всем привет. есть библиотека, которая изначально разрабатывалась в msvc2013. к библиотеке есть требование - кросс-платформа, и отсутствие внешних зависимостей. то есть, нельзя подтягивать...
C++ Обертка над boost::lexical_cast для работы с unsigned типами Пару дней назад выяснилось, что boost::lexical_cast не удовлетворяет нескольким требованиям в моей программе. boost::lexical_cast отказывается обрабатывать и выбрасывает исключение, если имеются... http://www.cyberforum.ru/cpp/thread1651946.html
C++ Hex to Ascii
Всем привет! Работаю с АЦП, и ему надо отправить ascii код (55H 55H 00H 00H AAH). (в виде char будет (UU ª), просто так отправить не удалось) Попробовал отправить hex (55 55 00 00 AA), не...
C++ QtCipherSqlitePlugin sqlite3_rekey не шифрует
Пытаюсь сменить пароль на БД. QSqlDriver *driver=myDatabase.driver(); QVariant handle=driver->handle(); Q_ASSERT_X(handle.isValid(), Q_FUNC_INFO, "Invalid handle of...
C++ Инструмент для быстрого создания установщиков программ http://www.cyberforum.ru/cpp/thread1649280.html
Есть ли какой-нибудь инструмент для быстрого создания установщиков программ, как например InnoSetup, но для C++? Или хотя бы приближенный к этому.
C++ Как скомпилировать Lammps под windows? Добрый день! Очень нужна помощь в установке и запуске программы молекулярной динамики LAMMPS под Windows. Программу установил, создал bat. файл запуска,но программа все равно не работает. Я новичок... подробнее

Показать сообщение отдельно
ArtTemiy
0 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 2

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

01.02.2016, 01:37. Просмотров 257. Ответов 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;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru