Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 21.08.2009, 23:04   #1
aureli0
ПроЭктировщик
 
Регистрация: 19.03.2007
Сообщений: 134
Написано 10 полезных сообщений
(для 20 пользователей)
кажется проблема с указателями:(

Здраствуйте, помогите пожалуйста разобраться
вот есть такая процедура для контроля анимации в игре:
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-ый аргумент)?
(Offline)
 
Ответить с цитированием
Старый 22.08.2009, 02:01   #2
alcoSHoLiK
Дэвелопер
 
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)
Ответ: кажется проблема с указателями:(

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

Объясни по-русски, что ты хочешь сделать?
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо alcoSHoLiK за это полезное сообщение:
aureli0 (27.08.2009), Horror (22.08.2009), Mr_F_ (22.08.2009)
Старый 27.08.2009, 22:18   #3
aureli0
ПроЭктировщик
 
Регистрация: 19.03.2007
Сообщений: 134
Написано 10 полезных сообщений
(для 20 пользователей)
Re: кажется проблема с указателями:(

спасибо)) уже разобрался. Честно я сам не понял что хотел. Когда понял, все получилось само сбой.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо aureli0 за это полезное сообщение:
alcoSHoLiK (28.08.2009), impersonalis (27.08.2009)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПТС (пошаговая тактическая стратегия) Putin Проекты на Blitz3D 30 27.04.2009 17:00
столкновения с обьектами сделанными Cartography shop 4 klopmaks Blitz3D 0 21.02.2009 21:10
Лабиринт с шариком внутри ( проблемка) klopmaks Blitz3D 29 11.12.2008 04:36
Все статьи, уроки,дополнения, ошибки компl anton_obuhov Основной форум 3 14.09.2008 13:11
Pipeline 3dMax9-->B3D проблема установки Alex_Noc 3D-программирование 5 13.01.2008 14:56


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com