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

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

Вернуться   forum.boolean.name > Программирование в широком смысле слова > Алгоритмика

Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения

Ответ
 
Опции темы
Старый 08.11.2011, 13:50   #1
gforcer18
Нуждающийся
 
Аватар для gforcer18
 
Регистрация: 06.02.2010
Адрес: Ижевск, Удмуртия, РФ
Сообщений: 78
Написано 19 полезных сообщений
(для 54 пользователей)
Вопрос Тряска в 2D шутере

2Д скролл шутер.

Как лучше реализовать эффект тряски, например когда игрок врезается в астероид.

1 - двигать Background
2 - двигать все объекты, а фон неподвижен
3 - двигать корабль игрока - сомневаюсь
__________________
Активный, общительный, адекватный, вежливый, терпеливый, немножко ленивый, креативный оригинал
(Offline)
 
Ответить с цитированием
Старый 08.11.2011, 14:01   #2
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,853 пользователей)
Ответ: Тряска в 2D шутере

Двигать глобальную матрицу (viewport, origin, screen - без знания движка не могу употребить уместный термин)
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
gforcer18 (08.11.2011), SBJoker (09.11.2011)
Старый 08.11.2011, 14:29   #3
FireOwl
Бывалый
 
Аватар для FireOwl
 
Регистрация: 16.09.2009
Адрес: Sun system
Сообщений: 831
Написано 442 полезных сообщений
(для 1,836 пользователей)
Ответ: Тряска в 2D шутере

Двигать камеру. (Т.е. все кроме GUI. Хотя можно и его тоже двигать, для пущего эффекта. И еще "помехи" визуализировать. Если астероид был большим.)
__________________
N"Gasta! Kvata! Kvakis!
Ahkstas so novajxletero (oix jhemile) so Ranetauw.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
gforcer18 (08.11.2011)
Старый 08.11.2011, 15:35   #4
gforcer18
Нуждающийся
 
Аватар для gforcer18
 
Регистрация: 06.02.2010
Адрес: Ижевск, Удмуртия, РФ
Сообщений: 78
Написано 19 полезных сообщений
(для 54 пользователей)
Ответ: Тряска в 2D шутере

а как быть с фоном, лучше если он неподвижен ?
__________________
Активный, общительный, адекватный, вежливый, терпеливый, немножко ленивый, креативный оригинал
(Offline)
 
Ответить с цитированием
Старый 08.11.2011, 15:40   #5
Amatsu
Дэвелопер
 
Аватар для Amatsu
 
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений
(для 2,706 пользователей)
Ответ: Тряска в 2D шутере

Вопрос связан с моим файтером?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Wegox (08.04.2012)
Старый 08.11.2011, 15:49   #6
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Тряска в 2D шутере

Как понимаю игра 2D. Вообще, gforcer18, научись поставлять вопрос, при этом снабжая читателя необходимой информацией.

Если в игре используется Parallax эффект для задних фонов, то соответственно двигать задний фон исходя из фактора смещения (все слои смещаются с разной степенью).
А вообще реализуй модель с наличием камеры, и отрисовывай всё с учётом позиции камеры, таким образом можно будет просто трясти (двигать чуток позицию камеры), и будет эффект того что всё двигается. Если задники будут позиционироваться с разным фактором (Параллакс), то будет должный эффект.

Вообще можно даже двигать только интерфейс, можно всё.
Видимо у тебя так всё криво сделано, что реализация такой простой задачки упирается в кучу нюансов твоей архитектуры отрисовки, что реализация того или иного будет весьма затруднительна. Поэтому ты побежал на форум спрашивать, заместо 5ти минутного теста с разными вариантами тряски.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
shybovycha (08.11.2011)
Старый 08.11.2011, 17:33   #7
shybovycha
ПроЭктировщик
 
Аватар для shybovycha
 
Регистрация: 27.05.2007
Сообщений: 110
Написано 40 полезных сообщений
(для 33 пользователей)
Ответ: Тряска в 2D шутере

Сообщение от MoKa Посмотреть сообщение
Видимо у тебя так всё криво сделано, что реализация такой простой задачки упирается в кучу нюансов твоей архитектуры отрисовки, что реализация того или иного будет весьма затруднительна. Поэтому ты побежал на форум спрашивать, заместо 5ти минутного теста с разными вариантами тряски.
Уважаемый, вы бы поспокойней реагировали - все мы с чего-то да начинаем
(Offline)
 
Ответить с цитированием
Старый 08.11.2011, 17:35   #8
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Тряска в 2D шутере

Сообщение от shybovycha Посмотреть сообщение
Уважаемый, вы бы поспокойней реагировали - все мы с чего-то да начинаем
Реакция адекватная. Подобный текст, может навезти спрашивающего на мысль, что если бы у него была бы "камера", то было бы всё проще. И если было бы более модульно, снова - было бы проще.
Это так, на будущее, чтобы реализация была с учётом будущих потребностей. Тогда и подобного вопроса не встало бы.
(Offline)
 
Ответить с цитированием
Старый 09.11.2011, 08:22   #9
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,853 пользователей)
Ответ: Тряска в 2D шутере

Я считаю тряску нужно производить со всей сценой исключая игровой худ.
Не люблю когда трясутся показатели.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 09.11.2011, 10:44   #10
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Тряска в 2D шутере

Если фон изображает очень далёкие предметы, небо, звездное небо, его трясти не надо. Не надо трясти HUD. Остальное трясти чем то наподобие:
SetOrigin( Rand(-5, 5), Rand(-5, 5) )
Можно смещение тряски выбирать в начале цикла, занести в две переменные.
Далее применять смещение после отрисовки неподвижного фона.
Перед отрисовкой HUD смещения установить в ноль.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Dream (23.11.2011)
Ответ


Опции темы

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

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


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


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