Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2009, 13:56   #1
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию Реализация РПГ...

У меня есть несколько вопросов по РПГ во всяком случае пока по выводу графики. В общем так. Я реализовал перемещение персонажей. Чтобы игровые обьекты прикрывали персонажа если он сзди них и наоборот я представил все обьекты в двумерный массив обьекттов куда записываю и персонажей. При создании уровня создается первый фон(тоесть трава и т.д.), затем поверх него второй фон где представлены все игровые обьекты. Это прорисовывается один раз. Затем при перемещении персонажа просматриваются нет ли на пути обьектов. Если нет то он идет в ту клетку и той клетке присваивается значение персонажа. А можно ли реализовать при этом плавное перемещение и чтобы обьекты накрывали друг друга также?

Зы Код покажу если надо.
Shadow_1329 вне форума Ответить с цитированием
Старый 04.08.2009, 17:04   #2
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Производи перемещение в цикле.Допустим шаг клеток 50 пикселей. Тогда , если скажем, приращение dx := 2 ;
используем
Код:
for i:= 1 to 25 do
           begin
              //<процедура движения к примеру по Х>
             x:= x + dx;
           end;
Получится плавность движения . Ну и, само собой, прорисовка всех фонов, персонажей и планов должна находиться в цикле.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 04.08.2009, 17:43   #3
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

Мне нужно чтобы он двигался как хотел всавао хоть на конце клетки коть вначале хоть в середине. А он у меня прыгает щас из клетки в клетку. А если так то он будет плавно переходитьиз клетки в клетку. А нужно чтобы свободно перемецался хоть по самой клетке.
Shadow_1329 вне форума Ответить с цитированием
Старый 04.08.2009, 17:59   #4
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Так шаг перемещения то Вы все равно должны задать сами - программно.Это можно делать в цикле, по таймеру, по обработчику клавиш или любого другого события, возникакющего по ходу кода.Вот при организации каждого такого шага следует прорисовывать все выше приведенные Вами шаги.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 06.08.2009, 13:13   #5
Wicort
Форумчанин
 
Аватар для Wicort
 
Регистрация: 04.08.2009
Сообщений: 684
По умолчанию

Смотря как ты производишь перемещение, вернее точку назначения. Если ты мышкой кликаешь по карте и туда перемещается персонаж, то не вижу проблем: прибавляй приращения координат dx и dy (чтоб плавно шёл), пока не достигнешь нужной точки, обходя препятствия.
Если же стрелками или wasd, то ещё проще: если следующее положение в той же клетке, то делаем шаг; если пытается перейти в другую клетку, то проверить, нет ли в ней препятствий. если есть - стоим на месте, нет - делаем шаг.

ну это если я конечно правильно понял суть проблемы.
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой?
Wicort вне форума Ответить с цитированием
Старый 06.08.2009, 18:27   #6
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

"Уроки по созданию игр для новичков" пост 155, и вот конкретно там же http://programmersforum.ru/showpost....&postcount=176, ...вообще читаем тему "Уроки по созданию игр для новичков" внимательно, много людей говорят много умных вещей.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 06.08.2009, 18:45   #7
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

Там немного не то. Мне вообще не нужно чтобы он ИЗ КЛЕТКИ В КЛЕТКУ ходил. Мне нужно чтобы он свободно перемещался не по тайлам.
Shadow_1329 вне форума Ответить с цитированием
Старый 06.08.2009, 19:22   #8
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

С клавиатуры, пока держишь перс топает? ...это аналогично, просто идет подмена автоматического смещения, условием на "нажата ли клавиша", ...если не к спеху, постараюсь помочь, ...естественно переделав именно тот пример, что уже показал, а перенести алгоритм на свою "платформу" придется самому.

Даже вот он. Только проверок на движение по диагонали нет, выполнишь сам.
Вложения
Тип файла: zip RPG_keyboard.zip (209.1 Кб, 36 просмотров)
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его

Последний раз редактировалось Beermonza; 06.08.2009 в 19:59.
Beermonza вне форума Ответить с цитированием
Старый 06.08.2009, 20:29   #9
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

И при том он будет закрываться обьектами если перс сзади них?
Shadow_1329 вне форума Ответить с цитированием
Старый 06.08.2009, 22:50   #10
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Конечно. В примитиве, у нас массив карты - Map, делаем цикл по его ячейкам, сопоставляем с координатами перса, если собпадает, рисуем в месте по формуле, что есть уже в примере. Все объекты будут на своих местах, и прикрывать друг друга как надо.

Код:
Цикл i по-Y
  Цикл j по-X
    Перебор списка объектов
      Если в этих координатах, то рисовать тут

    Перебор списка юнитов
      Если в этих координатах, то рисовать тут
  конец j
конец i
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание игры РПГ (RPG) vzov Qt и кроссплатформенное программирование С/С++ 18 13.05.2009 03:12
Помогите в создании броузерной РПГ emogot Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 06.02.2009 09:17
Магический квадрат v 0.01 (РПГ демо) Phoenix77 Gamedev - cоздание игр: Unity, OpenGL, DirectX 23 03.09.2008 02:20
Доработка Онлайн игры в стиле РПГ Splo1teR Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 31.07.2008 19:19
РПГ игра Принц Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 10.06.2008 15:57