|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.06.2008, 22:45 | #81 |
Форумчанин Подтвердите свой е-майл
Регистрация: 25.02.2008
Сообщений: 289
|
я еще не делал игр с движением, поэтому не знаю: стоит ли выводить на канву формы? или сразу надо учить, например опенгль. при рисовании по канве возникает мерцание... В общем что перспективнее: простота канвы или красота более профессиональных библиотек. И подскажите если стоит чего - учить, то что.
Упс...
|
03.06.2008, 23:54 | #82 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Не путай библиотеки с умением делать игры. Библиотека это инструмент, как у художника кисть. Если ты в принципе можешь сделать игру, не важно в чем, ты сможешь сделать ее и в OpenGL, естественно после того как научишься с ней работать. Простой пример: в справке Дельфи описаны все функции канвы, ты видел там пример игры? Вот и в мануалах к OpenGL не увидишь.
Нужно кстати поднять общий уровень программирования, не только что касается игр. А то элементарно будут технические проблемы подключения, импортирования функций и т.д. Учить однозначно стоит, если в перспективе игры только под Windows, учи DirectX. Если больше интересует кроссплатформ, твой выбор - OpenGL. Не хочешь вникать в детали, есть движки, к-рые многое делают за тебя. Тут правда придется учить интерфейс движка, но он обычно намного легче и более высокоуровневый чем "родной" интерфейс библиотек.
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)
Проверь себя! Онлайн тестирование | Мой блог |
04.06.2008, 16:12 | #83 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Canvas.Draw
Это явление нелогичной последовательности операций. Обычно мы выводим графику через Canvas.Draw когда нам вздумается, в циклах множество раз и тп. Как происходит отображение графики в OGL и DX? ...строится кадр в буфере и только самой последней командой выводится видеокартой на экран. Если делать Flip (вывод буфера на экран) когда вздумается, то будет такое же мерцание, падение fps, и нагрузка на видеокарту многократно возрастет. Так вот, применительно к играм: канвой (Canvas.Draw) нужно пользоваться только при выводе готового кадра, а построение выполнять в буфере.
Канва для игр перспективной вообще в принципе быть не может, ...это только некоторые экземпляры не требующие быстрого вывода и большого fps: типа первой Цивилизации или древней Симсити, карточных игр, простейших шахмат и пр. могут быть на ней реализованы в качестве макета, первого теста, учебного пособия, для себя от нечего делать, или как еще угодно.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
04.06.2008, 17:26 | #84 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Шахматный интерфейс коня )))
Человек просил ход конем, выкладываю в уроках, может еще кому пригодится. Когда-то это должны были быть шашки, но теперь будут шахматы, конь уже есть )
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)
Проверь себя! Онлайн тестирование | Мой блог |
04.06.2008, 18:05 | #85 |
Форумчанин
Регистрация: 19.04.2008
Сообщений: 150
|
А можно еще вопрос? Как сделать, чтоб картинка (допустим через 5 сек) появлялась в разных местах (то там, то здесь). Представление имею как делать, но решил все же уточнить, Спасибо!
|
04.06.2008, 18:18 | #86 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,690
|
например так
if GetTickCount mod 5000 = 0 then form1.Canvas.Draw(random(100),rando m(100),pic); Хотя правильнее было бы так Код:
Последний раз редактировалось Kostia; 04.06.2008 в 18:23. |
04.06.2008, 18:57 | #87 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,690
|
Идту туда куда смотрю!!!
Дума не только мне было интересно как реализовать ходьбу человека туда куда он смотрит. Возьмем тот же Crimsonland где человечек смотрит на мышь и идет туда по нажатию кнопки W. По этому алгоритму можно реализовать полет пули.
Вспомним тригонометрию, уравнение окружности выглядит следующим образом: x=cos(a); y=sin(a); Рассмотрим x и y не как точки, а как некий прирост по оси x и оси y. Допустим что a=pi/4, то sin(pi/4)=sqrt(2)/2 и cos(pi/4)=sqrt(2)/2, это значит, что нам нужно из начала координат (0,0) сдвинуться по оси x и y на sqrt(2)/2 и поставить там точку. А теперь задача с человечком. Допустим, что угол его взора равен a и нам необходимо изменить его координаты x и y так чтобы он пошел вперед. x:=x+cos(a); y:=y+sin(a); чтобы он пошол назад x:=x-cos(a); y:=y-sin(a); вот и все |
04.06.2008, 20:18 | #88 | |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
Цитата:
чем оно отличается от этого: Код:
|
|
04.06.2008, 20:43 | #89 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,690
|
Отличие лишь в одном, ваш пример для конкретного случая, а мой для общего. Так уж меня научили, делать не одноразовые вещи, а универсальные.
|
05.06.2008, 12:47 | #90 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Цитата:
Или TickCount использовать или таймер, а то получается и то и другое и можно без хлеба.
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)
Проверь себя! Онлайн тестирование | Мой блог |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Хорошие уроки | Render | Общие вопросы Delphi | 9 | 15.09.2012 07:13 |
Акцесс вопросы новичков | Yaga | Помощь студентам | 4 | 02.06.2008 00:16 |
Учебники для новичков в програмировании | Рар | Общие вопросы Delphi | 6 | 08.01.2007 08:07 |