forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   кажется проблема с указателями:( (http://forum.boolean.name/showthread.php?t=8973)

aureli0 21.08.2009 23:04

кажется проблема с указателями:(
 
Здраствуйте, помогите пожалуйста разобраться
вот есть такая процедура для контроля анимации в игре:
Код:

int frame_count[99999];
void ControlAnimate(int index,//индекс каждого объекта
                    int *frame,//номер текущего кадра
                    int frame_delta,//шаг между кадрами
                    int frame_start,//стартовый кадр
                    int frame_finish,//финальный кадр
                    int delay,
                    bool frame_cikl)//задержка между кадрами
  {
    if ((now-frame_count[index])>delay or now<frame_count[index])
      {
    frame_count[index]=SDL_GetTicks();
    *frame=*frame+frame_delta;
    }
  if (*frame>=frame_finish or*frame<frame_start)
      {
        if (frame_cikl==true) {*frame=frame_start;}//возвращаемся на старый кадр
      }
}

хотелось бы ее применять для разных
массивов
например для массива объектов[obj_max] j-го элемента:
ControlAnimate(j,
&obj_frame[j],
1,
1,7,
50,
true);

и для игрока:
ControlAnimate(obj_max+1,//1-ый номер забит за игроком
&p_frame,//номер текущего кадра
1,//шаг между кадрами
p_frame_start,//стартовый кадр
p_frame_start+3,//финальный кадр-разница между началом и концом анимации 3 кадра
100,
true);

меня смущает то что для обсчета задержки между кадрами надо использовать счетчик каждого элемента, т.е .сколько элементов в массиве столько и должно быть счетчиков?

правильно делать для объектов j (1..obj_max)
a для игрока obj_max+1?

может быть можно использовать какиенибудь указатели на безразмерный массив?
как переделать процедуру так чтобы не надо было загонять индекс для счетчика (1-ый аргумент)?

alcoSHoLiK 22.08.2009 02:01

Ответ: кажется проблема с указателями:(
 
Ничего не понятно. Вообще, если параметры анимации для разных объектов могут варьироваться, то надо для каждого объекта создавать отдельные счетчики. В С++ они заворачиваются в объекты.

Объясни по-русски, что ты хочешь сделать?

aureli0 27.08.2009 22:18

Re: кажется проблема с указателями:(
 
спасибо)) уже разобрался. Честно я сам не понял что хотел. Когда понял, все получилось само сбой.


Часовой пояс GMT +4, время: 10:17.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot