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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2013, 14:42   #61
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

После смерти выскакивает туча ошибок и меняется фон, при этом слизь продолжает пинать труп.

Уровень и броня что-нибудь дают?
Вы не могли бы скинуть проект полностью?
UPD:Код отрисовки лучше бы разделить на отдельные процедуры(например отрисовка лайфбра, отрисовка мобов и т.п.), так легче его воспринимать, тем более дальше код будет только разрастаться.
UPD2:Я не очень хорошо разбираюсь в этой области, но мне кажется, что каждый раз заново рисовать картинку не есть гуд(может быть из-за этого лагает). Лучше было бы перерисовывать только изменившуюся часть картинки.

Последний раз редактировалось Kix.IV; 13.05.2013 в 15:13.
Kix.IV вне форума Ответить с цитированием
Старый 13.05.2013, 14:54   #62
ruN00b
Почетный нуб
Форумчанин
 
Аватар для ruN00b
 
Регистрация: 07.05.2013
Сообщений: 155
По умолчанию

Про эту ошибку я и говорил... Выложу исправленную версию через час.
UPD:вот об этом я не подумал, спасибо, сделаю!
UPD2:насчет этого, может сделаю, может нет. Скоро вообще наверняка сделаю постоянно меняющуюся картинку и изменять текущий код так же не будет гуд.
ruN00b вне форума Ответить с цитированием
Старый 13.05.2013, 14:55   #63
nuberod
криворукий
Пользователь
 
Аватар для nuberod
 
Регистрация: 07.05.2012
Сообщений: 78
Печаль

НЕЗНАЮ ПОЧЕМУ, НО ГГ НЕ ИДЕТ. НАЖИМАЮ НА WASD, БЕЗ ПОЛЕЗНО.
nuberod вне форума Ответить с цитированием
Старый 13.05.2013, 14:56   #64
ruN00b
Почетный нуб
Форумчанин
 
Аватар для ruN00b
 
Регистрация: 07.05.2013
Сообщений: 155
По умолчанию

Попробуйте сменить раскладку. Сам сейчас сижу за WoR, все работает. Причем работает как на домашнем компьютере, так и на ноутбуке.
ruN00b вне форума Ответить с цитированием
Старый 13.05.2013, 15:12   #65
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Цитата:
Сообщение от nuberod Посмотреть сообщение
НЕЗНАЮ ПОЧЕМУ, НО ГГ НЕ ИДЕТ. НАЖИМАЮ НА WASD, БЕЗ ПОЛЕЗНО.
Отключи Caps, игра чувствительна к регистру.
Arigato на форуме Ответить с цитированием
Старый 13.05.2013, 15:31   #66
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от ruN00b Посмотреть сообщение
Попробуйте сменить раскладку. Сам сейчас сижу за WoR, все работает. Причем работает как на домашнем компьютере, так и на ноутбуке.
Нет, просить менять раскладку - это будет дурным тоном. Используй следующую функцию:

Код:
function keypressed(key: byte): boolean;
var
  keys: TKeyboardState;
begin
  result:=false;
  GetKeyboardState(keys);
  if (keys[key]=128) or (keys[key]=129) then result:=true;
end;
Код её использования:

Код:
// если кнопка "D"
  if keypressed(68) then {действие};
Коды клавиш:

Мышь
FMB_LEFT = 1;
FMB_RIGHT = 2;

Клавиатура
FK_BACKSPACE = 8;
FK_TAB = 9;
FK_ENTER = 13;
FK_SHIFT = 16;
FK_CTRL = 17;
FK_ALT = 18;
FK_ESCAPE = 27;
FK_SPACE = 32;

FK_PAGEUP = 33;
FK_PAGEDOWN = 34;
FK_END = 35;
FK_HOME = 36;
FK_SNAPSHOT = 44;
FK_INSERT = 45;
FK_DELETE = 46;

FK_LEFT = 37;
FK_UP = 38;
FK_RIGHT = 39;
FK_DOWN = 40;

FK_0 = 48;
FK_1 = 49;
FK_2 = 50;
FK_3 = 51;
FK_4 = 52;
FK_5 = 53;
FK_6 = 54;
FK_7 = 55;
fK_8 = 56;
FK_9 = 57;

FK_NUMPAD0 = 96;
FK_NUMPAD1 = 97;
FK_NUMPAD2 = 98;
FK_NUMPAD3 = 99;
FK_NUMPAD4 = 100;
FK_NUMPAD5 = 101;
FK_NUMPAD6 = 102;
FK_NUMPAD7 = 103;
FK_NUMPAD8 = 104;
FK_NUMPAD9 = 105;

FK_MULTIPLY = 106;
FK_ADD = 107;
FK_SEPARATOR = 108;
FK_SUBTRACT = 109;
FK_DECIMAL = 110;
FK_DIVIDE = 111;

FK_A = 65;
FK_B = 66;
FK_C = 67;
FK_D = 68;
FK_E = 69;
FK_F = 70;
FK_G = 71;
FK_H = 72;
FK_I = 73;
FK_J = 74;
FK_K = 75;
FK_L = 76;
FK_M = 77;
FK_N = 78;
FK_O = 79;
FK_P = 80;
FK_Q = 81;
FK_R = 82;
FK_S = 83;
FK_T = 84;
FK_U = 85;
FK_V = 86;
FK_W = 87;
FK_X = 88;
FK_Y = 89;
FK_Z = 90;

FK_F1 = 112;
FK_F2 = 113;
FK_F3 = 114;
FK_F4 = 115;
FK_F5 = 116;
FK_F6 = 117;
FK_F7 = 118;
FK_F8 = 119;
FK_F9 = 120;
FK_F10 = 121;
FK_F11 = 122;
FK_F12 = 123;
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 13.05.2013, 15:46   #67
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

Цитата:
Коды клавиш:
Мне кажется, что лучше было бы дать ссылку на полный список.
Например эту:http://delphi-box.ru/kodi-klavish-delphi.html (Нету клавиш мышки, но зато есть многие другие)
Kix.IV вне форума Ответить с цитированием
Старый 13.05.2013, 16:01   #68
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Kix.IV, всё, что нужно я показал, ...кого не устраивает, пусть ищут расширенные, тем более, что это не проблема.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 13.05.2013, 16:40   #69
ruN00b
Почетный нуб
Форумчанин
 
Аватар для ruN00b
 
Регистрация: 07.05.2013
Сообщений: 155
По умолчанию

Beermonza, спасибо за коды, пригодятся. Кстати, я сделал исправленную версию. Находится в моем прошлом сообщении.
ruN00b вне форума Ответить с цитированием
Старый 13.05.2013, 18:38   #70
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от ruN00b Посмотреть сообщение
Кстати, я сделал исправленную версию. Находится в моем прошлом сообщении.
Посмотрел код отрисовки. Это жутко тормозит из-за наличия "лишних" вычислений, которые можно вынести за циклы и вообще за процедуру отрисовки в виду статичности. Переменные нужно задать глобально, это ведь процедура, а не функция, на создание массивов и переменных тратится время. Экономить придётся везде где только можно. Смена пера и Canvas как таковой, вместе с функциями типа LineTo, нужно вырезать, они тормозные.

Не могу понять структуру вывода и что за циклы и кейсы, т.е. нет пояснений к коду. Всегда пиши над строчками пояснения, это тебе поможет не запутаться и возвращаться к коду спустя длительное время перерыва, пока ты участок не оптимизируешь или откладываешь программирование на неопределённый срок. Я разобраться не могу без детальных пояснений. Те, что есть - это для тебя может быть понятно, для меня нет

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


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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