§ Ссылка для скачивания
Скачать готовый шаблон.В этом шаблоне реализована лишь событийная модель, но нет поддержки звука.
§ Небольшая тестовая программа
#include "main.h" int main(int argc, char* argv[]) { Main app(320, 200, 2, 25); // Нарисовать что-нибудь app.block(0, 0, 320, 200, 0x80); app.line(0, 0, 320, 200, 0xffff); app.circlef(160, 100, 20, 0x008000); app.circle(160, 100, 20, 0xffffff); // Обработка возникшего события while (int event = app.event()) { switch (event) { // Обработать событие } } return 0; }
§ Объявление звука
int cursor; // Объявление 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; } }Вызов данной функции можно реализовать так:
SDL_OpenAudio(&sdl_audio, 0); SDL_PauseAudio(0);sdl_audio.callback = audio_callback;