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

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


Пионер
**

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

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


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

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


Пионер
**

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

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


Возникла небольшая проблема:
При последовательном выводе рисунков, тот рисунок который был выведен первым закрашевается совершенно другими цветами, второй нормальными цветами, если выводить дальше, то предыдущий закрышивается непонятными цветами, т.е. если выводить 2 рисунка первый закрашевается совершенно другими цветами, а второй нормальными, если еще вывести рисунок, то 2й непонятными цветами, а 3й нормальными и т.д.
как испрвить положение?


PROCEDURE ShowImage8(palOffset: integer; xstart,Ystart:WORD);
type
TLin8=record
x,y:word;
data:array[0..1023] of byte;
end;
var
lin8 : ^TLin8;
i : integer;
l,col :longint;
width,height,xt,yt,sizeP :word;
TransparentColor:word;
begin
TransparentColor:=white;
width:=bfh.biwidth;
height:=bfh.biheight;
while (width mod 4)<>0 do inc(width);
{seek(f,bfh.bfoffbits);}
curr_index := bfh.bfOffbits;
sizeP:=sizeof(Tlin8);
getmem(lin8,sizep);
lin8^.X:=bfh.biwidth-1;
lin8^.Y:=0;
for yt:= height-1 downto 0 do
begin
{blockRead(f,lin8^.Data,width);}
move(p^[curr_index], lin8^.Data, width); inc(curr_index, width);
for i:=0 to width-1 do
if (lin8^.data[i]+palOffset) <> TransparentColor then
putpixel(Xstart+i, Ystart+yt,lin8^.data[i]+palOffset)
end;
freeMem(lin8,sizep)
end;
 Оффлайн  Профиль  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

 



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