§ Использование
Здесь можно сразу скачать шаблон mingw SDL2 для WindowsЗависимости:
- Должен быть установлен MinGW32/64
- Файл должен идти с SDL2.dll
- libgcc_s_dw2-1.dll
- libstdc++-6.dll
Ссылка на установку SDL2
Необходимо выбрать SDL2-devel-2.0.20-mingw.tar.gz (MinGW 32/64-bit)
Из папки с i686 сделать распаковку в c:\MinGW
Не забыть прописать новые path=c:\MinGW\bin
§ Код
#define SDL_MAIN_HANDLED #include <SDL2/SDL.h> #include <math.h> #include "lib.cc" int cursor = 0; // Объявление SDL_AudioSpec sdl_audio = {44100, AUDIO_U8, 2, 0, 2048}; // Обработчик void audio_callback(void *data, unsigned char *stream, int len) { for (int i = 0; i < len; i += 2) { float v1 = sin((float)cursor*0.020)*31. + 127; float v2 = sin((float)cursor*0.021)*31. + 127; stream[i] = v1; stream[i+1] = v2; cursor += 1; } } // Главная работа с окном и данными int main (int argc, char** args) { lib* app = new lib(320, 180, 2, 50); // Инициализировать аудио // -------------------------------------- sdl_audio.callback = audio_callback; SDL_OpenAudio(&sdl_audio, 0); SDL_PauseAudio(0); // -------------------------------------- while (app->handler()) { int kbcode = app->get_kbcode(); if (kbcode == SDL_SCANCODE_ESCAPE) break; for (int y = 0; y < 180; y++) for (int x = 0; x < 320; x++) { app->pset(x, y, x*y + app->frameid()); } app->line(0,0,320,180,0xffffff); app->circle(160,90,50,0xffff00); app->circlef(160,90,25,0x00ff00); app->update(); } // -------------------------------------- return 0; };