|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.06.2008, 15:10 | #111 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Не совсем понял, GIF-анимация применяется?
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
14.06.2008, 19:32 | #112 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Нет, это я из спрайтов GIF смастерил, чтобы к сообщению прилепить.
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)
Проверь себя! Онлайн тестирование | Мой блог |
15.06.2008, 18:04 | #113 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Значит есть смысл пояснить, как работает система смены анимации, если на каждое состояние персонажа свой набор кадров. К примеру, у нас 10 кадров на каждое состояние (пусть будет качество ).
Анимация персонажа (файлы bmp): 1-10 - стоит; 11-20 - приседает; 21-30 - идет влево; 31-40 - идет вправо; 41-50 - прыгает влево; 51-60 - прыгает вправо; 61-70 - стреляет (бьет) влево; 71-80 - стреляет (бьет) вправо; Можете сделать меньше кадров, кому как нравится, или точнее, кому как ленится. Зеркальное отражение одного и того же действия я умышленно не применяю, и вам того же советую. Создайте в проекте новую папку, обзовите как угодно и поместите туда все файлы. Подгружаются все кадры подряд через цикл, который уже был показан ранее. Теперь вызов нужной секции кадров из массива сводится к такому способу: BitBuf.Canvas.Draw(x, y, sprites[t+n]); где: t - задает тип анимации, а n - номер кадра. Теперь нужно будет только прописать назначение типа t на клавишах, какой тип нужно показывать.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 10.06.2013 в 16:20. |
15.06.2008, 22:25 | #114 |
Форумчанин Подтвердите свой е-майл
Регистрация: 25.02.2008
Сообщений: 289
|
Ну с этим вроде понятно, хотя я сейчас на анимацию вообще плюнул и у меня, так же как и в примере, двигается шарик. Расскажите, как:
1.организовать бонусы, конкретно как они будут воздействовать на персонажа. 2.враги, как организовать их движение: сделать тупо чтобы ходили вперед-назад, или чтобы шли к игроку? 3.карта-ее основа двумерный массив, но как подобрать размер? И быть с динамичными объектами: бонусами, монстрами и пр. Записывать их в массив или проверять по координатам?(их будет не много)
Упс...
|
15.06.2008, 22:29 | #115 |
Форумчанин Подтвердите свой е-майл
Регистрация: 25.02.2008
Сообщений: 289
|
кстати, а как насчет цикличности анимации? типа пакмана-открывает и закрывает рот-надо рисовать каждый кадр или, например, менять n:=-1?
Упс...
|
15.06.2008, 22:52 | #116 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Между открытым и закрытым ртом хотя бы два промежуточных положения должно быть. Нужен счетчик в таймере, когда счетчик достиг числа спрайтов, обнуляй его. В случае с пакманом можно схитрить, закрывает рот он также как и открывает, так что можно для закрытия спрайты не делать, а использовать те же только в обратном порядке:
Код:
n - номер спрайта i - счетчик (1 - 6) d - направление (0 - 3) n := d * 6 + i;
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; 16.06.2008 в 00:01. |
15.06.2008, 23:03 | #117 | |||
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Цитата:
Цитата:
Вперед-назад вообще элементарно, дошел до стены - развернулся, до развилки - повернул в случайную сторону. Цитата:
Monsters: array of TMonstr; А что с картой? В каком смысле подобрать размер?
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)
Проверь себя! Онлайн тестирование | Мой блог |
|||
16.06.2008, 14:50 | #118 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Думаю, имеется в виду, если карта больше экрана, как корректно сдвигать карту относительно него. Тут карты могут быть любого размера, главное помнить размеры, и держать персонажа по центру экрана.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
18.06.2008, 22:02 | #119 |
Форумчанин Подтвердите свой е-майл
Регистрация: 25.02.2008
Сообщений: 289
|
нет, я имею в виду, что вот установлю я разрешение 800*600 и какими делать квадраты?(при полноэкр. режиме)
бонусы я не знаю как сделать. Например ускорение-если увеличивать сдвиг, будет получаться несоответствие с анимацией, сложности с проверкой столкновения и проч. еще вопрос: что делать при смерти перс.? Ну я имею ввиду как это делать. Отключать таймер и писать Game Over? А заново? И вообще как организовать меню?
Упс...
|
19.06.2008, 21:10 | #120 | |||
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Цитата:
Цитата:
Цитата:
Меню игры (интерфейс) выполнить легче всего на панельках (Panel), которые могут содержать графику, кнопки, ...да все, что угодно.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 10.06.2013 в 16:23. |
|||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Хорошие уроки | Render | Общие вопросы Delphi | 9 | 15.09.2012 07:13 |
Акцесс вопросы новичков | Yaga | Помощь студентам | 4 | 02.06.2008 00:16 |
Учебники для новичков в програмировании | Рар | Общие вопросы Delphi | 6 | 08.01.2007 08:07 |