|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.02.2009, 23:25 | #11 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Цитата:
function GetKeyboardState(var: KeyState: TKeyboardState); Копиpует состояние клавиш виpтуальной клавиатуpы в KeyState. Если стаpший бит байта pавен 1, клавиша нажата. Если младший бит байта pавен 1, то с момента запуска системы клавиша нажималась нечетное число pаз. function keypressed(key: byte): boolean; var State:TKeyboardState; begin GetKeyboardState(State); Result:=((State[key] and 128)<>0); end; and в этом случае не логический оператор а побитовый. Если непонятно именно это, почитай про побитовые операции.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог Последний раз редактировалось mutabor; 05.02.2009 в 23:33. |
|
06.02.2009, 13:54 | #12 | |
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
Цитата:
Да конечно не против, к тому же капитан здесь вы, а главное результат а не название...
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
|
|
06.02.2009, 16:23 | #13 |
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
Здравствуйте не знаю правильно ли я делаю задавая еще один вопрос в этой же теме, просто она тоже касается коллизий. Собственно интересует такой вопрос: как определить столкновение с полигоном в opengl? т. е скажем иметься у меня полигон или треугольник (не важно)
с координатами: Код:
Процедура камеры: Код:
Код:
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
|
07.02.2009, 00:12 | #14 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Подробно по универсальной системе (1)
На счет полигонов не знаю, но если есть структура - скелет карты, то можно все знать об объекте, где находится, какие размеры, и при перемещении просто смотреть вокруг текущего, есть ли другие рядом.
Вот что-то соорудил довольно простое, ...основа - интерпретация реального положения объектов в координаты на экране, через смещения. Вначале нужен тип объектов, универсальный, вот он: Код:
Код:
Код:
Код:
Код:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
07.02.2009, 00:17 | #15 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Подробно по универсальной системе (2)
Продолжение ...
Вот так идет отрисовка: Код:
Код:
Исходник в архиве.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 07.02.2009 в 00:25. |
07.02.2009, 01:35 | #16 | |
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
Большое вам спасибо за столь ясный и обстоятельный ответ, или хотя бы за то что не пожалели своего времени. Но при беглом просмотре (!) (сейчас уже довольно поздно) сразу возникает пару вопросов:
1) Цитата:
Код:
2) Еще не понятно как увеличить объект в нашем случаи игрок, но не размер клетки, т. е фон как был 20 на 20 так он и должен быть, а игрок скажем 70 на 70? (постораюсь разобраться сам) 3) еще один момент: например самая нижняя полка, идете туда синим игроком и упираетесь в нее, далее не отпуская клавишу (стрелку) лево нажимаете стрелку верх и он заскакивает под полку и по моему прекрасно себя там чувствует) не смотря на то что там "1". Но это все мелочи.. А вообще есть чему поучиться, конечно, еще раз спасибо.
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
|
|
07.02.2009, 14:54 | #17 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Не стоит благодарности, мы все чему-то у кого-то учились, это все в порядке вещей, тем более на форуме все как кореша.
По вопросам: 1) Да, главный - большой, ...просто отправь в комментарий вот эту строчку в отрисовке: Код:
2) Размер увеличивается банально просто - меняем размер bmp-файла и он сам "освоится" в игре. К сожалению пока не отработана система столкновений не все проходит гладко, но перемещение стабильное и правильное. 3) На этом я вообще не заострял внимание, пролез и пролез, сродни Марио как пыж влетел в узкий проход и только прыжками может продвигаться присев ) Версия просто показательно-обучающая. Очень легко ставить объекты, создавать карты, подгружать новые по ходу игры, если немного разобраться с условиями коллизий, то можно легко имитировать поведение знаменитого персонажа из древней 8-битной игрушки "Черный Плащ", он снизу прыжком цепляется за полочку, еще один прыжок и он на полке. Как-то вот так.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
07.02.2009, 17:27 | #18 | |||
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
Цитата:
Цитата:
Цитата:
И последняя проблема что меня беспокоит это то что не получается читать "карту" с массива. пытался использовать конструкцию которая использовалась ранее Код:
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
|
|||
07.02.2009, 20:09 | #19 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Сразу по поводу рисуночка в архиве, будет что-угодно пока нет четкой системы коллизий )
По поводу заполнения карты, мой тип содержит пакованные записи, одна из них - TBitmap текстура, другая - Byte проходимость. Нужно после записи массива MapMas[x,y] написать точечку, будет два варианта, соответственно нужно выбрать GMove - это проходимость. Соответственно если нужно записать стену, то вот так: Код:
Послесловие... вопросов может быть сколько-угодно, для того и нужен форум, и в частности отдельная тема.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 07.02.2009 в 20:13. |
07.02.2009, 20:53 | #20 | |
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
Цитата:
Код:
(точнее что есть я показываю в рис.) И вот вопрос тогда как должен выглядеть файл, с которого читаем сейчас он имел вид: 00000000000000000000000000000000000 00..n 00000000000000011111000000000000000 00..n ..............n Что-то сомневаюсь в правильности..
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
collision detection | challengerr | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 5 | 10.01.2009 20:53 |
Нужна помощь!!)) | ТРОЯН=) | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 29.12.2008 21:42 |
Нужна помощь | BreeZe | Помощь студентам | 1 | 14.05.2007 21:38 |