SDL и таймеры

Модератор: Модераторы разделов

BratSinot
Сообщения: 812
ОС: Slackware64

SDL и таймеры

Сообщение BratSinot »

Доброго времени суток!

Как в SDL создать таймер, вдолбить туда свою функцию со своими параметрами? У меня получился только такой вариант:
SDL_TimerID testid;

Uint32 test(Uint32 interval, void *param)
{
px+=100;
return(interval);
}

int main(...)
{
...
testid=SDL_AddTimer(1, test, NULL);
...
}

А как именно, и можно ли вообще, вдолбить функцию с параметрами... Или придется свой таймер писать?
P.S. glut'ы и замены SDL не предлагать, если что.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5422
ОС: Gentoo

Re: SDL и таймеры

Сообщение /dev/random »

BratSinot писал(а):
21.02.2011 22:14
А как именно, и можно ли вообще, вдолбить функцию с параметрами... Или придется свой таймер писать?

Ей передаётся параметр void *param. Это именно он указывается последним параметром функции SDL_AddTimer. Если нужно более одного параметра, то можно выделить память под структуру, записать в неё параметры и передать функции указатель на структуру. Только надо не забыть вовремя освободить память.
Спасибо сказали:
BratSinot
Сообщения: 812
ОС: Slackware64

Re: SDL и таймеры

Сообщение BratSinot »

/dev/random писал(а):
21.02.2011 22:21
BratSinot писал(а):
21.02.2011 22:14
А как именно, и можно ли вообще, вдолбить функцию с параметрами... Или придется свой таймер писать?

Ей передаётся параметр void *param. Это именно он указывается последним параметром функции SDL_AddTimer. Если нужно более одного параметра, то можно выделить память под структуру, записать в неё параметры и передать функции указатель на структуру. Только надо не забыть вовремя освободить память.

О! Спасибо, все работает.
Спасибо сказали: