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

> Блин вот все не могу догнать как вы грузите, в игру картинки...
Masacre Ant
сообщение 26.12.2004 17:36
Сообщение #1


Гость






Каким образом можно в программу на Паскале засунуть картинку?
И в каком формате она должна быть?
Сомневаюсь, что можно просто нарисовать в Paint'е цветной кубик и всунуть его например коммандой LoadImage('kubic.bmp')...
Это же ведь не так делается, может кто нить мне поможет, и объяснит на простеньком примере:
-----------------------------------------------------------------------------------------------
-Где надо рисовать картинку? huh.gif
-Как ее отобразить на экране с помощью Pascal(что для этого нужно?), а еще лучше:
-Как ее еще потом подвигать туда сюда, хотя бы просто без участия юзера(тобишь не управляя с клавы...)?

Помогите ПЛЗ!!! :molitva:
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Dark
сообщение 27.12.2004 3:42
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 408
Пол: Мужской

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


Сама игра. Модули попробую в архиве пихнуть в рар архиве
Код

Uses keyboard,VesaType,Vesa256,Sprite,pcx;


var
Stars:array[0..599] of PTStar;
PShip:PTSShip;
eog:boolean;   {End Of Game}
key:byte;      {keyboard}
i:integer;

procedure CreateStars;
 var i1:integer;
 begin
  for i1:=0 to 599 do
   begin
    Stars[i1]:=CreateStar(random(800),random(600));
   end;
 end;

procedure DestroyStars;
 var i1:integer;
 begin
  for i1:=0 to 599 do
   begin
    DestroyStar(Stars[i1]);
   end;
 end;

procedure MoveStars;
 var i1:integer;
 begin
  for i1:=0 to 599 do
   begin
   if Stars[i1]^.Spr^.y+Stars[i1]^.speed<=600 then Stars[i1]^.Spr^.y:=Stars[i1]^.Spr^.y+Stars[i1]^.speed else
    begin
    Stars[i1]^.Spr^.x:=random(800);
    Stars[i1]^.Spr^.y:=random(20);
    Stars[i1]^.speed:=random(7)+3;
    end;
   end;
 end;

procedure MoveSShip(key:byte);
 begin
  case key of
   Up:     PShip^.Spr^.y:=PShip^.Spr^.y-3;
   Down:   PShip^.Spr^.y:=PShip^.Spr^.y+3;
   Left:   PShip^.Spr^.x:=PShip^.Spr^.x-5;
   Right:  PShip^.Spr^.x:=PShip^.Spr^.x+5;
  end;
 end;

procedure DrawStars;
begin
  for i:=0 to 599 do
   begin
    VPutPixel(Stars[i]^.Spr^.x,Stars[i]^.Spr^.y,Stars[i]^.col);
   end;
end;

 procedure DrawBar;
 begin
  Drawpict(PShip^.Spr^.pict,PShip^.Spr^.x,PShip^.Spr^.y,false,0)
 end;

begin
randomize;
CreateStars;
PShip:=CreateSShip(50,500,'ship.pcx');
if ISVesa then VSetMode($103) else halt;
  Drawpict(PShip^.Spr^.pict,PShip^.Spr^.x,PShip^.Spr^.y,true,0);
repeat
 ClBuf;
 VClrScr(0);
 DrawStars;
 DrawBar;
 MoveSShip(key);
 MoveStars;
 NextFlic;
 VRetrace;
 key:=Mreadkey;
 if key=esc then eog:=true;
until eog;

VClrScr(0);
SetTextMode;
DestroyStars;
DestroySShip(PShip);
end.


Сообщение отредактировано: Dark - 27.12.2004 3:48


Прикрепленные файлы
Прикрепленный файл  1.txt ( 3.43 килобайт ) Кол-во скачиваний: 222


--------------------
- Где я?
- Во тьме.
- В какой тьме?
- Во тьме твоего мозга.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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