|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.02.2009, 22:16 | #21 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Не верный диапазон, нужно:
Код:
00000 01110 00000 в файле вот так: 000000111000000 ...разумеется нужно строгое соответствие числу байт на матрицу карты, можно больше по ошибке указать, но не меньше, иначе в один из тактов файл кончится раньше времени. Вот точный код загрузки карты: Код:
Исходник с загрузкой карты в архиве.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 07.02.2009 в 22:19. |
08.02.2009, 01:36 | #22 | |
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
Цитата:
Все превосходно работает чего думаю и следовало ожидать, следующим шагом в понимании кода я сделал следующее: Код:
смотрите рисунок, при столкновении с препятствием наш объект падает вниз, хотя, показывает что: MapMas[UPosX+1,UPosY+1].GMove=1 и MapMas[UPosX-1,UPosY+1].GMove=1, далее я решил поставить вот что: Код:
Код:
p.s про редактор еще рановато думать... что -то мне подсказывает.. )
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Последний раз редактировалось Stanislav; 08.02.2009 в 01:39. |
|
08.02.2009, 21:55 | #23 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Условия заданы так, что при прыжке и стремлении объекта "влезть" в щель, выпадает один момент, когда условия смотрят выше и ниже препятствий, соответственно упуская из виду пол под ногами, вот и происходит провал.
Нужна часть системы поиска пути, волновой вариант, причем на несколько клеток от объекта, на сколько? - это определяется делением нацело размера объекта на размер клетки, и дальше отсторйка смещений.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
08.02.2009, 22:49 | #24 | |
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
Цитата:
Код:
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
|
|
09.02.2009, 00:10 | #25 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Дело в том, что смотреть нужно не только справа, слева, сверху и под ногами, ...объект крупнее одной клетки карты, поэтому нужен цикл который перебирает клетки карты от исходной по часовой стрелке например:
xxx x0x xxx 0 - это точная позиция объекта, а крестиками показано сканирование карты на предмет препятствий. Условие одно - если есть хоть в одной из этих клеток препятствие, то нельзя двигаться, и куда нельзя определяется по номеру. Все это справедливо для объекта с размерами превышающими размер клетки карты в 2 раза или чуть больше, ...до 3-х кратного. Если объект в 3 раза крупнее, то нужно двойной цикл: xxxxx xxxxx xx0xx xxxxx xxxxx Вопрос на засыпку: если в качестве препятствия будет еще один такой же крупный объект, что нужно делать для правильной отработки столкновений?
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
09.02.2009, 00:51 | #26 | |
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
Цитата:
Честно говоря, я в замешательстве: в плане математики, что делает этот код? Каждые 10 мск запускаем цикл и проверяем всех наших юнитов на предмет столкновения: Код:
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
|
|
09.02.2009, 15:47 | #27 | ||
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Цитата:
Цитата:
Если нужно чтобы было все крупнее, то можно просто размер клеток карты задать побольше, и пропорционально размеры объекта увеличить, все зависит от поставленной задачи, ...кстати что поставлено целью? ...для чего нужны маленькие клетки карты и крупные объекты? Само сканирование карты выполняется просто: Код:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
||
10.02.2009, 22:51 | #28 | ||
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
Все очень просто, ответ кроиться в теме этого топика: коллизии. Честно говоря, думал, что столкновения в 2 d мире схожи с 3 d, но покопавшись, обнаружил, что это не совсем так, вот выдержка из одной статьи:
(один из вариантов) Столкновение сферы со сферой вокруг полигона или чего там еще описывается сфера, и перед объектом который движется, а далее: Цитата:
glscene но вот установить его уже пытаюсь 2-3 день, перечитал все инструкции и на этом форуме и в других местах, но вставать, что-то не хочет (точнее встает но криво) Вот собственно и цель, а на вопрос Цитата:
А для того чтобы разобраться, разве не интересно? (да и сами видите, что знания оставляют желать лучшего) или просто взять чужие исходники наложить "шкуру" и сказать вот посмотрите я написал! только вот получиться что это не я написал, а за меня написали. так что продолжаю "юзать" ваш "движок" (если вы не против что я его так нарикаю) посмотрите, кстати, что я там на юзал, (размер клетки 32 на 32) (и у объектов, кстати, тоже) карта пока в виде 1000001 1000001 сами понимаете так легче править. p.s Я вот что думаю сейчас уже можно танчики писать используя ваш "движок" (можно и по сети, на сокетах например), и по вложению, не помогли бы вы с физикой? точнее когда вы посмотрите я объясню что хочу, а вы на путь истиный меня поставьте..
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Последний раз редактировалось Stanislav; 10.02.2009 в 22:55. |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |