|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.07.2008, 14:35 | #141 |
Форумчанин
Регистрация: 27.06.2008
Сообщений: 113
|
пишу танчики и просто застрял на одном месте!
как можно сделать, чтобы если, ты, например, развернут вниз, компонент image1 (снаряд) летел вниз, вправо-вправо и т.д. у меня все время он летит вверх, чтобы я не делал! я задал переменные: Код:
Код:
в таймере пишу код: Код:
помогите, плиз, так хочется по-скорей закончить, а тут это... Последний раз редактировалось Titan123; 18.07.2008 в 14:39. |
18.07.2008, 17:04 | #142 | |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Популярно...
ЛомиК, ярлыки вешать все мастера.
Обычно так и происходит на полное описание процесса потом идет нарекание типа "это я и без вас знаю, мне бы вот это...", ...так стоит ставить вопрос соответствующе, чтобы было понятно, что имеется в виду. Загрузить на форму - это одно, вывести на форму - это другое. А за примеры не боИтесь, без них не оставляем Все взято из тем "Как вы относитесь к созданию игр на Delphi?" и "Уроки по созданию игр для новичков". Вывод графики для VCL, загрузка, и структура хранения без ограничений для любых методов. Создание структуры хранения анимации (это было к примеру аркады, "Уроки по созданию игр для новичков", пост #115) Если на каждое состояние персонажа свой набор кадров. К примеру, у нас 10 кадров на каждое состояние (пусть будет качество). Анимация персонажа (файлы bmp): 1-10 - стоит; 11-20 - приседает; 21-30 - идет влево; 31-40 - идет вправо; 41-50 - прыгает влево; 51-60 - прыгает вправо; 61-70 - стреляет (бьет) влево; 71-80 - стреляет (бьет) вправо; Можете сделать меньше кадров, кому как нравится. Зеркальное отражение одного и того же действия я умышленно не применяю, и вам того же советую. Создайте в проекте новую папку, например Anim, и поместите туда все файлы. Загрузка анимации Практикуется загрузка анимации в ImageList. ("Уроки по созданию игр для новичков", из поста #109) Не вижу смысла использовать ImageList, чтобы оставить его пустым, и при запуске заполнять эго картинками, ...или может загрузить картинки сразу и хранить в EXE? , побойтесь Бога. Загружать анимацию будем в массив типа TBitmap. Вот такой вариант мной применялся до недавнего времени: (добавлю точности для частного случая) Код:
Подготовка кадра ("Уроки по созданию игр для новичков", из поста #85) Цитата:
(пост #102) Попробуем создать буфер кадра, в котором будет производиться построение, перед финальным выводом на экран: Код:
Код:
Вывод анимации Тут следует уточнить, куда выводить анимацию, прямо на форму или же в PainBox, Image. Пусть в Image. Смотрим процесс отрисовки кадра и его вывод в Image в процедуре таймера: Код:
(читаем материал "Уроки по созданию игр для новичков", пост #102) Создаем свой тип для модели мира (уровня) и для персонажей, в таймере применяем цикл по числу персонажей. P.S. Если нужно, остановимся подробнее на модели персонажа.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 18.07.2008 в 17:08. |
|
18.07.2008, 17:34 | #143 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Titan123, для начала слегка поменяйте название переменных, ...человеческий зрительный аппарат так устроен, что привыкает к похожести начальных нескольких символов, и при беглом поиске просто считает имена одинаковыми, ...в итоге поиск ошибок затрудняется. Это из многолетней практики.
Предложу исправить вот так: Код:
Также в таймере есть условие: if image3up=false then оно неверное, если вас интересует лишь истинность True. ...это наверное попытка хоть как-то повлиять на ситуацию?
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 10.06.2013 в 16:30. |
18.07.2008, 17:35 | #144 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Titan123, раз он все время летит вверх, эначит этот код
Код:
Чтобы не было таких запутанных условий, лучше сделать немного иначе: Код:
Код:
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)
Проверь себя! Онлайн тестирование | Мой блог |
18.07.2008, 18:18 | #145 |
Пользователь
Регистрация: 09.07.2008
Сообщений: 66
|
Titan123, а кто снаряд? -
как можно сделать, чтобы если, ты, например, развернут вниз, компонент image1 (снаряд) летел вниз, вправо-вправо и т.д. у меня все время он летит вверх, чтобы я не делал! я задал переменные: Код: view plaincopy to clipboardprint? image3up,image3left,image3down,imag e3right:boolean; //image3-снаряд ====== У Вас там путаницы с image нет? Правильно Вам посоветовали с именами переменных. Beermonza Извиняюсь, если задел, просто часто уж приходится слышать весьма лаконичные ответы, Вы мне открыли глаза, я и недумал что это может напрягать, хотя если человек совсем бестолков, тогда да, но я таким вообще не отвечаю, прошу прощенья. |
18.07.2008, 21:43 | #146 |
Форумчанин Подтвердите свой е-майл
Регистрация: 25.02.2008
Сообщений: 289
|
1.подскажите как лучше делать иск. интеллект? я вот пробовал для крестиков-ноликов описать процедуру постановки знака и вызывал ее с параметрами(чей ход и пр.) - т.е. как бы общая процедура для всех, а в процессе поиска лучшего решения я как бы моделировал ходы- комп проверял возможный ход на эффективность и проверял что будет. правилен ли такой подход или надо как - то иначе?
2. расскажите как сделать игру через интернет
Упс...
|
19.07.2008, 22:20 | #147 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
L_M, так понимаю, вам нужно написать искусственный интеллект для некоторой игры: "расскажите как сделать игру через интернет", а первые попытки у вас были на игре "крестики-нолики"? ...или ваша игра "крестики-нолики" и вас не устраивает тот метод работы ИИ, что вы уже применили?
Все зависит от типа игры и от поведения объекта, который вы собираетесь имитировать. Уточните, тогда можно будет вам помочь.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 10.06.2013 в 16:31. |
20.07.2008, 21:39 | #148 |
Форумчанин Подтвердите свой е-майл
Регистрация: 25.02.2008
Сообщений: 289
|
ну конкретно я хочу сделать юнита, например в стратегии. вот вопросы:
1. как их все хранить? есть юнит, 1 штука, например объект. как хранить много юнитов(в массиве что ли)? 2. как создавать(динамически?). 3. как сделать прозрачные панели, например со зданиями?
Упс...
|
20.07.2008, 21:42 | #149 |
Форумчанин Подтвердите свой е-майл
Регистрация: 25.02.2008
Сообщений: 289
|
вот, забыл самое главное: нужно ли делать каждый юнит екземпляром объекта(класса, компонента,...) с процедурами, или описать глобальные процедуры, например движения и передавать туда параметры каждого юнита?
Упс...
|
21.07.2008, 10:17 | #150 | |
Форумчанин
Регистрация: 27.06.2008
Сообщений: 113
|
Цитата:
а вообще выше описанный мною способ с image3up и т.д. я нашел в одном исходнике. поэтому я даже не понимаю как это работает! может, надо как-то описать это... но как? для меня идеальный способ был бы сказать если image2.picture='вверх.bmp' то... но я узнал так сделать невозможно может вы подскажите мне вообще альтернативный вариант этого действия? был бы очень признателен Последний раз редактировалось Beermonza; 01.04.2009 в 16:02. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Хорошие уроки | Render | Общие вопросы Delphi | 9 | 15.09.2012 07:13 |
Акцесс вопросы новичков | Yaga | Помощь студентам | 4 | 02.06.2008 00:16 |
Учебники для новичков в програмировании | Рар | Общие вопросы Delphi | 6 | 08.01.2007 08:07 |