|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.08.2011, 09:11 | #1 |
Регистрация: 30.08.2011
Сообщений: 8
|
Mortal Kombat в C++ Builder 2010 - первые шаги
Здравствуйте. Вот решил попробовать написать игру типа Mortal Kombat
и заодно выяснить, можно ли с помощью стандартной библиотеки сделать что то стоящее (хотя бы такого качества http://flash-online-games.ru/stuff/d...mbat/6-1-0-263) или лучше использовать какую ни будь другую библиотеку (или вообще использовать какой ни будь движок). На скорую руку набросал в максе пнг , потому претензии по графики не принимаю, сначала надо качественное управление сделать, а потом рисовать. Я все же хочу поставить определенную точку с перемещением и идти дальше. Мне ни как не удавалось нормально останавливать перемещение в цикле в FormKeyUp, а в циклах do { последовательность операторов } while (условие); while (условие) оператор; нет границ да и с ними мне кажется не проще. Если делать перемещение только в таймере без цикла (как обычно делают) то оно будет дерганным. Жарил кашу, и вдруг подумал, а чего бы не соединить таймер и цикл, и само перемещение получилось бы достаточно плавным и без проблем останавливается, и как раз мне подойдет , когда с прыжками начну возиться. Но тут один косяк - , без анимации все ОК, но при включение в цикл анимации кадры загружаются в реальном времени, а перемещение в 10 раз медленнее, можно добавить Sleep(10); ,но тогда чем дольше держишь кейдаун – тем позже происходит остановка перемещения и анимации (да и там такой дисбаланс во времени происходит). Можно поставить 2 таймера, на один перемещение в цикле, во втором анимация – но тогда начинает тормозить. Вот если бы можно было считать перемещение в одном времени, а анимацию в другом, тогда бы все получилось. Подскажите пожалуйста, можно ли это как то сделать , или существует другой путь? Вот файл http://zalil.ru/31621299 |
30.08.2011, 09:56 | #2 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Уважаемый! Первые шаги нужно начинать с консолек и простеньких приложений не содержащих графики. Компьютерная графика, - это вообще высший пилотаж. Куда Вы полезли!
Цитата:
В DirectX применяется двухбуферная система отображения. Кадр рисуется на одной поверхности, а затем переключается и рисуется на другой. С шейдерами работает быстрее, но это такой геморрой...
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 30.08.2011 в 10:01. |
|
30.08.2011, 12:26 | #3 | |
Регистрация: 30.08.2011
Сообщений: 8
|
Цитата:
Вот тут ( http://www.cyberforum.ru/graphics/thread93716.html ) есть примеры. Мне интереснее что можно сделать стандартным путем не подключая иные библиотеки (DirectX,Open GL). Посоветуйте пожалуйста, что можно улучшить в этом коде Код:
|
|
30.08.2011, 13:12 | #4 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Ну, например так можно:
Код:
При этом комп реагирует на все нажатия кнопок и т.д. А отсюда я взял алгоритм перерисовки изображения.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 30.08.2011 в 13:19. |
30.08.2011, 22:18 | #5 | |
Регистрация: 30.08.2011
Сообщений: 8
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Первые шаги в Perl | Phantom | Perl | 8 | 17.08.2018 18:18 |
первые шаги в с++ | ploik | Общие вопросы C/C++ | 2 | 16.07.2010 23:35 |
Первые шаги php | Syltan | PHP | 2 | 02.01.2010 14:06 |
Первые шаги | trave1er | Общие вопросы C/C++ | 2 | 10.09.2008 20:32 |
Эмуляторы Mortal Kombat 5 Deadly Alliance для ПК | Илюха | Свободное общение | 3 | 29.07.2008 21:14 |