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

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


Пионер
**

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

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


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

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


Пионер
**

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

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


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


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

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


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

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

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


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

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

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

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


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


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

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


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

 



- Текстовая версия 14.07.2025 15:00
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"