IPB
ЛогинПароль:

> Очень нужна помощь в написании игры! использование bmp в Pascal, Помогите плз!!!
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 103
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


Необходимо на паскале написать игрушку-стрелялку, проблема заключается в том что нигде не могу найти описания как в паскаль вставить картинку, желаетельно bmp, используя модуль graph для рисования человечика стандартными процедурами не подходит, т.е. задание заключается именно в том чтобы использовать картинку, помогите оч нужна помощь!!!!!!!

Сообщение отредактировано: ninja -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 103
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


Появилась такая идея: что если первому адресу клавиатурного буфера присвоить последний адрес? т.е. при каждом попадании значения в буфер, он будет очищаться.


MemW[Seg0040:$1C]:=MemW[Seg0040:$1A]

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(ninja @ 10.07.2009 19:29) *
Появилась такая идея: что если первому адресу клавиатурного буфера присвоить последний адрес? т.е. при каждом попадании значения в буфер, он будет очищаться.
Прекрасная идея для любителей музыки типа "бип-бииииииип" smile.gif. Если твоя программа не успевает обрабатывать вводимую информацию, то буфер надо не уменьшать, а увеличивать. В этом и состоит весь смысл буфера. Почему ты решл, что буфер - это вред? Типа придумали его, чтоб осложнять жизнь людям? lol.gif

Но увеличение буфера тоже не выход. Если ты собираешься жать кнопку, пока оно не забьется - оно забьется обязательно smile.gif. Воспринимай сложности с буфером как признак того, что у тебя что-то не так. Тебе надо прогу свою менять. Я бы рекомендовал сделать так.. Когда читаешь символ - читай не один, а сразу все из буфера. И складывай их в свой собственный буфер. При этом ты можешь предусмотреть параметр количества, то есть вместо повторения разных кодов хранить число введенных символов. Например, если ты вводишь:
aaabbbccabcccccc
- а хранишь:
3a3b2c1a1b6c.
При этом программа может распознавать множественные символы и ускоряться - например, рисовать не каждый кадр, а через кадр (если, скажем, коэффициент превышает 10).

И даже если ты не хочешь настолько сильно все менять, то самое простое средство, это вставить чтение клавиатуры где-нить в середине рисования (либо повесить на прерывание, но это уже сложнее). Сделай процедурку, которая читает символ, и если он такой же, как предыдуший - просто сбрасывает его, а если новый - запоминает как введенный. И навставляй ее вызовы в рисование.

В подавляющем множестве ситуаций, когда тебе хочется влезть в систему (например, поменять буфер), это лучше сделать в рамках своей программы. Например, сделать свой собственный клавиатурный буфер (второй, то есть, над системным). О быстродействии машины особо не заботься, оно большое (если не иметь в виду графику, конечно)).


Добавлено через 2 мин.
Да, еще: адреса переменных, хранящих начало и конец буфера, которые ты привел, мне что-то кажутся странными.. Но я мог это забыть.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
ninja   Очень нужна помощь в написании игры! использование bmp в Pascal   3.07.2009 1:27
volvo   1) преобразовать картинку в OBJ-файл через BINOBJ …   3.07.2009 1:40
ninja   Да если можешь, помоги, буду признателен   3.07.2009 1:51
volvo   Значит, смотри на последовательность действий... …   3.07.2009 3:11
ninja   Спасибо большущее, ща буду разбераться.   3.07.2009 3:20
ninja   volvo еще не большой вопрос, а можно как нибудь сд…   3.07.2009 23:37
volvo   Там, где выводится очередной пиксель на экран, дел…   4.07.2009 0:30
ninja   Допусти цвет пекселя может совпадать с цветом фона…   4.07.2009 0:37
volvo   Ну вот же: for yt:= height-1 downto 0 do begin …   4.07.2009 0:50
ninja   ага, сейчас попробую сделать   4.07.2009 0:54
ninja   Возникла небольшая проблема: При последовательном …   4.07.2009 20:16
volvo   Никак. Это объясняется тем, что у всех рисунков ра…   4.07.2009 20:49
ninja   блин плохо((((( А если попробовать каждому изобра…   5.07.2009 1:06
volvo   Это ничего не даст... Палитра может быть только од…   5.07.2009 2:11
ninja   получается вся работа коту под хвост(((((( если н…   5.07.2009 3:09
volvo   Погоди. А зачем ты рисуешь картинки по отдельности…   5.07.2009 21:14
ninja   Сделал как ты сказал, сохраняю все объекты на одно…   6.07.2009 2:44
volvo   Я не это сказал... Я сказал. А ты рисуешь в 256-цв…   6.07.2009 4:22
ninja   Спасибо!!! все получилось :)   6.07.2009 13:39
ninja   Сталкнулся с такой проблемой, что при движении кар…   7.07.2009 19:51
volvo   Присоедини тестовый проект, чтоб можно было откомп…   7.07.2009 20:07
ninja   Движение осуществляется при нажатии клавиш влево-в…   7.07.2009 21:14
volvo   А теперь ответь мне на 2 вопроса: 1) Зачем тебе от…   7.07.2009 22:16
ninja   TransparentColor:=5; 5- т.к мне нужно исключить ф…   8.07.2009 15:52
volvo   Не знаю, откуда такое сомнение... 5-ый элемент пал…   8.07.2009 16:40
ninja   При загрузки картинки в память происходит зависани…   8.07.2009 17:05
volvo   Максимальный блок памяти, который можно выделить з…   8.07.2009 17:19
ninja   Если сохранять изображение только под объектом, то…   9.07.2009 17:19
volvo   А хоть бы и не меньше, но: 1) у тебя будет возможн…   9.07.2009 18:46
ninja   Мерцание стало на порядок меньше :) Еще такой в…   9.07.2009 19:50
volvo   Освобождает память, разрывая связь переменной с бл…   9.07.2009 20:01
ninja   А если уменьшить клавиатурный буфер? Если тебя н…   9.07.2009 20:08
ninja   Появилась такая идея: что если первому адресу клав…   10.07.2009 22:29
Lapp   Появилась такая идея: что если первому адресу клав…   11.07.2009 7:17
Archon   Labyrinth Вот от туда можешь взять модуль для клав…   11.07.2009 18:26
ninja   Спасибо, правда я уже написал, прикольный лабиринт…   11.07.2009 20:10


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 19.06.2024 5:06
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name