Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
sooqua
15 / 9 / 1
Регистрация: 23.02.2012
Сообщений: 135
1

Как сделать камеру (в игре) :D

08.12.2012, 21:55. Просмотров 933. Ответов 8
Метки нет (Все метки)

Пишу 2D игру на движке HGE.
Надо сделать камеру, чтобы она следовала за игроком (по Х-координате).
Сделал так:
C++
1
2
float Offset = (-Player.X) + (Window.Width/2);
hge->Gfx_SetTransform(0, 0, Offset, 0, 0, 1, 1);
(третьим аргументом устанавливается смещение центральной точки "мира" по Х-координате)

Все работает камера едет за игроком, НО слишком резко)) Всмысле, игрок может достаточно быстро бегать, поворачиваться в разные стороны, и камера просто трясется)
Хотелось бы, чтобы вы помогли мне сделать так чтобы камера немного "обгоняла" игрока в ту сторону, в которую он движется до определённого предела, или просто "сгладить" её движения.
Заранее спасибо за ответы @_@
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2012, 21:55
Ответы с готовыми решениями:

Как в игре сделать счёт голов?
Помогите пожалуйста. Как в игре сделать счёт голов? Думал сделать что когда мяч...

Как сделать систему ходов в карточной игре?
Здравствуйте,я делаю карточную игру,но столкнулся с тем,что не знаю как сделать...

playsound(), как сделать фоновую музыку в игре
Есть игра. Есть звуки с использованием Beep()/ Нужна фоновая музыка. Читал что...

Как сделать так чтобы персонаж в игре двигался сам
На данный момент я учусь писать игры на C++. Я сделал так чтобы персонаж...

Как сделать сохранение в игре?
Недавно я решился попробовать создать RPG игру на C++ поскольку с языком у меня...

8
ps10n1ck
54 / 48 / 11
Регистрация: 10.11.2010
Сообщений: 132
08.12.2012, 22:07 2
float Offset = (-Player.X) + (Window.Width/2);
Player.X - float?
Window.Width - float?
если нет - попробуй так:
float Offset = float(-Player.X) + ((float)Window.Width/2);
0
sooqua
15 / 9 / 1
Регистрация: 23.02.2012
Сообщений: 135
08.12.2012, 22:10  [ТС] 3
Цитата Сообщение от ps10n1ck Посмотреть сообщение
Player.X - float?
Window.Width - float?
Обе переменные - float.
0
ps10n1ck
54 / 48 / 11
Регистрация: 10.11.2010
Сообщений: 132
08.12.2012, 22:11 4
выложи код целиком, я гляну...
0
sooqua
15 / 9 / 1
Регистрация: 23.02.2012
Сообщений: 135
08.12.2012, 22:14  [ТС] 5
Это и есть полный код)
C++
1
2
float Offset = (-Player.X) + (Window.Width/2); // вычисление смещения, на которое необходимо сдвинуть все объекты
hge->Gfx_SetTransform(0, 0, Offset, 0, 0, 1, 1); // сдвигаем
Это в FrameFunc
0
ps10n1ck
54 / 48 / 11
Регистрация: 10.11.2010
Сообщений: 132
08.12.2012, 22:20 6
весь код игры, а не этой функции, ибо я не телепат и не вижу что, и как там двигается =)
0
sooqua
15 / 9 / 1
Регистрация: 23.02.2012
Сообщений: 135
08.12.2012, 23:00  [ТС] 7
тема актуальна (\/) (&_&) (\/)
0
Nixy
ComfyMobile
400 / 281 / 34
Регистрация: 24.07.2012
Сообщений: 916
08.12.2012, 23:03 8
Цитата Сообщение от sooqua Посмотреть сообщение
тема актуальна (\/) (&_&) (\/)
так ты кинул форумчанину который тебе помогал код свой?
0
sooqua
15 / 9 / 1
Регистрация: 23.02.2012
Сообщений: 135
09.12.2012, 03:21  [ТС] 9
неа, он тут не нужен)

Добавлено через 1 час 21 минуту
Уже все. Помогли на другом форуме.)
0
09.12.2012, 03:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2012, 03:21

Как сделать Game over в игре
Здравствуйте, разрабатываю змейку через OpenGL на с++ и в принципе игра...

Сделать статистику игроков в игре "Крестики-нолики"
Доброго времени суток! Вот, решил для курсовой работы написать игру...

Как подключить таймер к игре?
Как подключить таймер к игре чтоб она выключалась после конца времени ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru