![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#151 |
Почетный нуб
Форумчанин
Регистрация: 07.05.2013
Сообщений: 155
|
![]()
Ошибки я уже исправил, к примеру, Accessы на выходе, улучшил магазин, сделал настройки, сегодня днем буду уменьшать нагрузку на процессор, увеличивать FPS. Но предметы и квесты все таки сделаю, раз начал.
|
![]() |
![]() |
![]() |
#152 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
ruN00b, у тебя до сих пор отрисовывает Canvas.Draw, или уже иначе?
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#153 |
Почетный нуб
Форумчанин
Регистрация: 07.05.2013
Сообщений: 155
|
![]()
Нет, до сих пор Canvas.Draw, но, если дадите исходник отрисовки 2D текстур на джеле с комментариями, буду признателен.
|
![]() |
![]() |
![]() |
#154 | |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]() Цитата:
Попробуй откомпилировать код игры и поставить метку на строчке с выводом изображения Canvas.Draw. В редакторе кода слева синие кружки напротив каждой строки, кликай по ним, будет красная метка остановки кода. Запускай проект из под Delphi. Как дойдет до метки, программа остановится, активируй поле кода и жми построчный переход по кодам F7, т.е. ты будешь "нырять" во все процедуры и функции которые проделываются в Canvas.Draw прежде чем изображение будет отрисовано. Ужаснись через какие перлы тебя пропустит универсальная его структура. Нажимать придётся раз 100. Этот код по-определению не может быть быстрым. В конце концов ты выйдешь на одну из команд GDI, называемую StretchBlt - это то же самое, что и BitBlt, только с дополнительным кодом масштабирования. Собственно обе команды ведут в один и тот же монолит ассемблерного кода, в разные его участки. StretchBlt, при равных размерах области отрисовки и масштабирования (без маштабирования) выполнит код BitBlt. Я кидал тебе пример смены изображений, ...в этой теме даже вроде (гляну после того как напишу это сообщение). Как пользоваться прямым BitBlt там есть. А на счёт отрисовки в этот буфер, перед тем как BitBlt выведет изображение на экран, нужно посмотреть как на текущий момент это осуществляется. ...нашёл. Это в теме "Как вы относитесь к созданию игр на Delphi?": http://www.programmersforum.ru/showp...postcount=1207 Подсчёт кадров тоже штука тонкая. Преобразование в строку IntToStr и строковые операции String типа тащат за собой те же перлы, причём через Caption формы. Поставь так же точку останова и посмотри. Считать FPS не нужно, смотри по загрузке CPU. Таймер ты выставил и при видимой плавности движения, без рывков, число кадров будет равным 1000 / интервал.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 02.06.2013 в 16:35. |
|
![]() |
![]() |
![]() |
#155 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#156 | ||||
Участник клуба
Регистрация: 11.08.2012
Сообщений: 1,226
|
![]() Цитата:
Цитата:
В общем, гг может находится на 1-2 клетки ниже чем моб, и при это спокойно атаковать его. Цитата:
Цитата:
Кстати, в сети куча примеров по работе с ними. |
||||
![]() |
![]() |
![]() |
#157 |
Почетный нуб
Форумчанин
Регистрация: 07.05.2013
Сообщений: 155
|
![]()
Пепел Феникса, сколько же вы времени потратили!
Я просил исходник с комментами, а гуглом, спасибо, пользоваться и сам умею. Beermonza, это сколько де воемени надо потратить, просматривая каждый останов! Хотя, у меня его завались, так что попробую узнать, что лагает. Кстати, инфо об отрисовке: она жрет всего 4 кадра! Узнал, закомментировав все, кроме отображения количества кадров. А значит, придется искать еще и за отрисовкой лаги. Kix.IV, на одну выше или ниже может быть, я так сделал для мечей, а для посохов забыл убрать. Вычисление FPS я описал здесь, и оно не такое сложное: есть секундный счетчик, обнуляющий значение и записывающий это значение в переменную fps, значение которой мы и видим на экране. А при каждом вызове процедуры WorldRefresh (отрисовки) это значение увеличивается на 1. Сокеты - самая популярная для меня вещь, ее и прошу. А насчет сворачивания, похоже, эта игра более требовательна. |
![]() |
![]() |
![]() |
#158 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
http://www.opengl.org.ru/books/open_gl/chapter5.4.html литературы достаточно, взять например красную книгу OpenGL(не путать с Красновым) хватит просить готовые коды. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#159 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
В меню над страницей форума есть "Блог программистов", ищи статью "Создание клиент-сервера".
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#160 |
Почетный нуб
Форумчанин
Регистрация: 07.05.2013
Сообщений: 155
|
![]()
Может, мне поступить так? Клиент дает серверу события вроде нажатия клавиши на клавиатуре, координаты мышки, нажаты ли левая и правая кнопка мыши, а сервер дает готовую картинку. Не будет лагать, если сервер мощный и быстрый?
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Delphi RPG | ruN00b | Мультимедиа в Delphi | 1 | 07.05.2013 09:40 |
RPG-SpaceInvaders | revaldo666 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 9 | 08.02.2012 18:04 |
Delphi-клиент для Online RPG "Dragon Knight" | apromix | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 0 | 23.05.2009 12:48 |
3D-RPG | Кронос | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 25 | 12.05.2007 11:21 |