События в sdl 0
Скачать 375.48 Kb.
|
MyWindow();Балтийский государственный технический университет «Военмех» им. Д. Ф. Устинова Кафедра И5 «Информационные системы и программная инженерия» Лабораторная работа № 2 по дисциплине «Программирование на ЯВУ» на тему «События в SDL 2.0» Выполнила: Студент Кирсанов Я. О. Группа И993 Преподаватель: Спирин Д.О. Санкт-Петербург 2021 Задание 1. В файле l2.c приведен текст программы: разобраться и устранить возможные ошибки, проанализировать виды событий и причины их срабатывания. В программе перевести все сообщения на русский язык. Изменить логику построения и структуру программы, взяв за основу ЛР 1. В программе реализован класс MyWindow, содержащий следующие члены: //основное окно SDL_Window * windowContext = NULL; //таймеры, срабатывающие через 2 сек. И 10 сек. SDL_TimerID repeatOnceFunctionTimer; SDL_TimerID customEventFunctionTimer; //конструктор и деструктор MyWindow(); //функция ассемблера static int asmFunction(void); //создание окна int CreateWindow(); //создание кнопки int CreateButton(int X,int Y, int W, int H, int color); //функция, рисующая кнопку int DrawButton(); //функции, перемещающие кнопку вниз, вверх, влево или вправо по нажатию //стрелок int MoveButtonDown(); int MoveButtonUp(); int MoveButtonLeft(); int MoveButtonRight(); // обработка нажатия на кнопку. При нажатии на кнопку она меняет цвет int ClickButton(int x, int y); // перемещение кнопки в точку с координатами int ButtonMoveTo(int x, int y); Результат работы программы представлен на рис. 3 и рис. 4. Рис.3 Два окна с кнопками. В каждом окне отслеживается положение курсора Рис. 4 При нажатии на кнопку отслеживание курсора отключается |