собственно вот

лифт имеется отдельно, взгляните может я какие косяки не доглядел?И вообще как выглядит?
(=' :') радиоКотЭ
(,('')('')
Код: Выделить всё
unit pav;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure rmKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
//Описание типов переменных
var
Form1: TForm1;
fon:tbitmap;//ГРАФИЧЕСКИЙ ОБРАЗ дома
KORB:TBITMAP;//ГРАФИЧЕСКИЙ ОБРАЗ лифта
x:integer;//координаты X лифта
shx:integer;//Шаг движения лифта по X
implementation
{$R *.DFM}
//Старт главной формы
procedure TForm1.FormCreate(Sender: TObject);
begin
shx:=6;
//
fon:=tbitmap.Create;//
korb:=tbitmap.Create;//
//
fon.LoadFromFile('Dom.bmp');//Загрузить в переменную 'fon' файл 'fon.bmp'
//
korb.LoadFromFile('lift.bmp');//Загрузить в переменную 'korb' файл 'korb.bmp'
korb.transparent:=true;//Прозрачность вокруг контура корабля
//
image1.Canvas.Draw(0,0,fon);//
image1.Canvas.Draw(x,60,korb);//
end;
//Работа таймера движение корабля
procedure TForm1.Timer1Timer(Sender: TObject);
begin
x:=x+shx;//текущая координата + шаг
if x>500 then shx:=shx*-1;// ограничение справа
if x<0 then shx:=shx*-1;//ограничение слева
image1.Canvas.Draw(0,0,fon);//возобновление фона
image1.Canvas.Draw(x,60,korb);//движение корабля
//
end;
end.Код: Выделить всё
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls;
type
TForm1 = class(TForm)
img1: TImage;
img2: TImage;
tmr1: TTimer;
procedure FormCreate(Sender: TObject);
procedure Tmr1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
//Îïèñàíèå òèïîâ ïåðåìåííûõ
var
Form1: TForm1;
Dom:tbitmap;//ÃÐÀÔÈ×ÅÑÊÈÉ ÎÁÐÀÇ äîìà
lift:TBITMAP;//ÃÐÀÔÈ×ÅÑÊÈÉ ÎÁÐÀÇ ëèôòà
x:integer;//êîîðäèíàòû X ëèôòà
shx:integer;//Øàã äâèæåíèÿ ëèôòà ïî X
implementation
{$R *.DFM}
//Ñòàðò ãëàâíîé ôîðìû
procedure TForm1.FormCreate(Sender: TObject);
begin
shx:=6;
//
Dom:=tbitmap.Create;//
lift:=tbitmap.Create;//
//
Dom.LoadFromFile('Dom.bmp');//Çàãðóçèòü â ïåðåìåííóþ 'fon' ôàéë 'fon.bmp'
//
lift.LoadFromFile('lift.bmp');//Çàãðóçèòü â ïåðåìåííóþ 'korb' ôàéë 'korb.bmp'
//
img1.Canvas.Draw(0,0,Dom);//
img2.Canvas.Draw(x,60,lift);//
end;
//Ðàáîòà òàéìåðà äâèæåíèå êîðàáëÿ
procedure TForm1.tmr1Timer(Sender: TObject);
begin
x:=x+shx;//òåêóùàÿ êîîðäèíàòà + øàã
if x>500 then shx:=shx*-1;// îãðàíè÷åíèå ñïðàâà
if x<0 then shx:=shx*-1;//îãðàíè÷åíèå ñëåâà
img1.Canvas.Draw(0,0,Dom);//âîçîáíîâëåíèå ôîíà
img2.Canvas.Draw(x,60,lift);//äâèæåíèå êîðàáëÿ
end;
end.
ну я планирую сам дом сделать фоном,а лифт корабликом который будет перерисовыватсяя бы просто нарисовал 3 или более разных бмп
там 2 значения тру и фальш--при обоих она остается меньше окна формыпоставте флаг stretch
двигать можно и мышкой но точность маленькая(( а каким свойством ее сдвинуть по горизонтали?меньшую следует двигать её свойством top.
Код: Выделить всё
procedure TForm1.tmr1Timer(Sender: TObject);
begin
y:=y+shx;//текущая координата + шаг
if y>500 then shx:=shx*-1;// ограничение справа \\\зачем эти ограничения может их убрать?
if y<0 then shx:=shx*-1;//ограничение слева
img1.Canvas.Draw(0,0,Dom);//возобновление фона
img2.Canvas.Draw(y,60,lift);//движение корабля \\\\цифра 60 это начальные координаты?тогда почему только 1 цифра ?
end;
Код: Выделить всё
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls;
type
TForm1 = class(TForm)
img1: TImage;
img2: TImage;
tmr1: TTimer;
procedure FormCreate(Sender: TObject);
procedure Tmr1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
//Îïèñàíèå òèïîâ ïåðåìåííûõ
var
Form1: TForm1;
Dom:tbitmap;//ÃÐÀÔÈ×ÅÑÊÈÉ ÎÁÐÀÇ äîìà
lift:TBITMAP;//ÃÐÀÔÈ×ÅÑÊÈÉ ÎÁÐÀÇ ëèôòà
y:integer;//êîîðäèíàòû y ëèôòà
shx:integer;//Øàã äâèæåíèÿ ëèôòà ïî y
implementation
{$R *.DFM}
//Ñòàðò ãëàâíîé ôîðìû
procedure TForm1.FormCreate(Sender: TObject);
begin
shx:=6;
//
Dom:=tbitmap.Create;//
lift:=tbitmap.Create;//
//
Dom.LoadFromFile('Dom.bmp');//Çàãðóçèòü â ïåðåìåííóþ 'Dom' ôàéë 'Dom.bmp'
//
lift.LoadFromFile('lift.bmp');//Çàãðóçèòü â ïåðåìåííóþ 'lift' ôàéë 'lift.bmp'
//
img1.top.Draw(0,0,Dom);//
img2.top.Draw(60,x,lift);//
end;
//Ðàáîòà òàéìåðà äâèæåíèå ëèôòà
procedure TForm1.tmr1Timer(Sender: TObject);
begin
y:=y+shx;//òåêóùàÿ êîîðäèíàòà + øàã
if y>500 then shx:=shx*-1;// îãðàíè÷åíèå ñïðàâà
if y<0 then shx:=shx*-1;//îãðàíè÷åíèå ñëåâà
img1.top.Draw(0,0,Dom);//âîçîáíîâëåíèå ôîíà
img2.top.Draw(60,x,lift);//äâèæåíèå êîðàáëÿ
end;
end.