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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.08.2009, 16:19   #11
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
По умолчанию

Я там коды вставил на проверку уровней: надо вводить на 1 уровне p на 3 уровень, o - на 4, i - на 5, u - на 6.
Gapro вне форума Ответить с цитированием
Старый 19.08.2009, 16:27   #12
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
Радость

Shadow_1329

Спасибо за найденную ошибку, я её исправил вот исправленная версия.

Еще мне кажется что 6 уровень слишком сложный, я думаю его поменять с 4-тым. Как вы думаете?
Вложения
Тип файла: rar My Game03.rar (31.5 Кб, 27 просмотров)
Gapro вне форума Ответить с цитированием
Старый 19.08.2009, 19:01   #13
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

У меня шарик игрока что-то слишком сильно мигает. Ты его из примитивов рисуешь и заливаешь или готовишь спрайт в памяти?
Вадим Буренков вне форума Ответить с цитированием
Старый 19.08.2009, 19:59   #14
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
По умолчанию

Рисую из примитивов и заливаю.
Gapro вне форума Ответить с цитированием
Старый 19.08.2009, 20:28   #15
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Для увеличения скорости вывода графики в паскале лучше использовать спрайты. О их использовании можешь почитать в интернете, ну или я могу пример скинуть. А быстрее работают они поскольку при обычном рисовании происходят рассчеты изображения (например нужно рассчитать точки из которых состоит окружность), а для спрайтов они рассчитываются 1 раз. Также для ускорения графики можно использовать 'виртуальные страницы'.
Вадим Буренков вне форума Ответить с цитированием
Старый 19.08.2009, 21:37   #16
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
По умолчанию

Да я как бы планировал уже переходить на Delphi, но без анлима его достать трудновато
Gapro вне форума Ответить с цитированием
Старый 19.08.2009, 21:37   #17
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
По умолчанию

Но про спрайты скинь, если не сложно, почитаю
Gapro вне форума Ответить с цитированием
Старый 20.08.2009, 09:22   #18
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Я уже давно не работал с паскалем но спрайты делаются как-то так ( наришу только код так как pascal не установлен).
Этапы:
1)Сначала рисуем на экране нужное изображение из примитивов
2)Сохраняем в памяти как спрайт
3)Можем рисовать везде где хочем (уже из памяти)
4)Перед выходом удаляем из памяти
Спрайт будет хранится в глобальной переменной типа поинтер:
Код:
//спрайт
Spr:Pointer;                 
//размер спрайта
SprSize:Word;
Вот пример сохранения:
Код:
//1)Рисование
SetColor(red);                           
FillEllipse(60, 110, 10, 10);
SetFillStyle(7,green);
FloodFill(62,112,red);
2)Сохраняем  в памяти как спрайт
SprSize:=ImageSize(48,98,72,122);
GetMem(Spr, SprSize);
GetImage(48, 98, 72, 122, Spr^);
//спрайт сохранен, можем очистить экран
ClearDevice;
Вот рисование:
Код:
PutImage(x, y, Spr^, XORput);
XORput-тип вывода спрайта. О них инфу найдешь сам если надо.
Пдюс XORput в том, что если вывести спрайт один раз то он рисуется как положено, а если вывести спрайт в те же координаты второй раз то он исчезнет! Если на экране много объектов а движентся тольео малая часть то по скорости это быстрее чем очищать экран и выводить все заново.

А вот очищение спрайта:
Код:
FreeMem(Spr,SprSize);
Если надо конкретный пример то можешь посмотреть (в архиве есть исходники) мою первую игру на pascal, там используются спрайты (правда код там ужасный )

Последний раз редактировалось Вадим Буренков; 20.08.2009 в 09:26.
Вадим Буренков вне форума Ответить с цитированием
Старый 20.08.2009, 17:58   #19
pro100-delphi
Пользователь
 
Аватар для pro100-delphi
 
Регистрация: 19.08.2009
Сообщений: 99
По умолчанию

С учётом того, что писалась она на Pascal работа отличная. Но как я не раз говорил Pascal язык учебный, нормальных игр не напишеш. С твоим талантом можно было бы делать норм игры на Delphi с использованием OpenGL ))
pro100-delphi вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Моя первая игра CosmoNoid (canvas) Алекс Ялта Gamedev - cоздание игр: Unity, OpenGL, DirectX 78 16.06.2010 23:42
Моя первая игра(Image) Shadow_1329 Gamedev - cоздание игр: Unity, OpenGL, DirectX 13 26.03.2009 09:45
моя первая програма... maziLa Общие вопросы C/C++ 7 12.03.2009 08:14
Моя первая программа)) Dr.Badnezz Софт 9 06.12.2008 14:39
Моя первая и последняя игра. BangBangFM Gamedev - cоздание игр: Unity, OpenGL, DirectX 13 05.12.2008 22:12