Форум: "Игры";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];
ВнизКак прокрутить изображение экрана за игроком????????? Найти похожие ветки
← →
Rasp (2004-02-25 08:55) [0]У меня вопрос как прокрутить изображение экрана за игроком в дельфикс?
← →
Cash © (2004-02-25 12:37) [1]Имеешь в виду задний вид?
Если спрайт больше экрана и состаит из клеток, то создавай примерно так:
Type
TMap = class(TBackgroundSprite)
protected
procedure DoMove(MoveCount: Integer); override;
Public
constructor Create(AParent: TSprite; AX, AY : Integer);
end;
// далее прпишу Create
constructor TMap.Create(AParent: TSprite; AX, AY : Integer);
var
i, j : Integer;
begin
inherited Create(AParent);
SetMapSize(AX,AY);
Image := MainForm.ImageList.Items.Find("GFlur");
X := 0;
Y := 0;
Z := -10;
Width := MapWidth * Image.Width;
Height:= MapHeight * Image.Height;
//случайное заполнение карты
For i:=0 to AX-1 do
For j:=0 to AY-1 do
Chips[i,j]:=Random(20);
end;
procedure TMap.DoMove(MoveCount: Integer);
begin
inherited DoMove(MoveCount);
// прокрутка карты с проверками
If isLeft in MainForm.DXInput.States
Then
begin
X:=X+ScrollCount;
If X>0
Then X:=0;
end;
If isRight in MainForm.DXInput.States
Then
begin
X:=X-ScrollCount;
If X+Width<MainForm.DXDraw.SurfaceWidth
Then X:=MainForm.DXDraw.SurfaceWidth-Width;
end;
If isUp in MainForm.DXInput.States
Then
begin
Y:=Y+ScrollCount;
If Y>0
Then Y:=0;
end;
If isDown in MainForm.DXInput.States
Then
begin
Y:=Y-ScrollCount;
If Y+Height<MainForm.DXDraw.SurfaceHeight
Then Y:=MainForm.DXDraw.SurfaceHeight-Height;
end;
end;
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.033 c