![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Добрый день, очень прошу помощи.
Подскажите,пож-та, сразу покажу мой код: Код:
uses
Classes, SysUtils, Graphics;
type
{ TBase }
TBase=class
private
x: Integer;
y: Integer;
public
constructor Create(x0, y0: Integer);
procedure setX (x0: Integer);
procedure setY (y0: Integer);
function getX: Integer;
function getY: Integer;
end;
{ TStatic }
TStatic=class(TBase)
private
bitmap: TBitmap;
public
constructor Create(x0, y0: Integer; bitmap0: TBitmap);
procedure setBitmap (bitmap0: TBitmap);
function getBitmap: TBitmap;
end;
{ TAnimate }
TAnimate=class(TBase)
private
bitmap: array[0..100] of TBitmap;
curFrame: Integer;
maxFrame: Integer;
public
constructor Create(x0, y0: Integer; bitmap0: array of TBitmap;
maxFrame0: Integer);
procedure nextFrame;
procedure setBitmap(bitmap0: array of TBitmap);
function getCurFrame: Integer;
function getMaxFrame: Integer;
function getBitmap:TBitmap;
end;
{ TAnimate }
constructor TAnimate.Create(x0, y0: Integer; bitmap0: array of TBitmap;
maxFrame0: Integer);
begin
x:=x0;
y:=y0;
bitmap:=bitmap0;
curFrame:= 0;
maxFRame:= maxFrame0;
end;
procedure TAnimate.nextFrame;
begin
if curFrame < maxFrame then
curFrame:=curFrame+1
else
curFrame:=0;
end;
procedure TAnimate.setBitmap(bitmap0: array of TBitmap);
begin
bitmap:=bitmap0;
end;
function TAnimate.getCurFrame: Integer;
begin
result:= curFrame;
end;
function TAnimate.getMaxFrame: Integer;
begin
result:= maxFrame;
end;
function TAnimate.getBitmap: TBitmap;
begin
result:=bitmap[curFrame];
end;
{ TStatic }
constructor TStatic.Create(x0, y0: Integer; bitmap0: TBitmap);
begin
x:=x0;
y:=y0;
bitmap:=bitmap0;
end;
procedure TStatic.setBitmap(bitmap0: TBitmap);
begin
bitmap:=bitmap0;
end;
function TStatic.getBitmap: TBitmap;
begin
result:=bitmap;
end;
{ TBase }
constructor TBase.Create(x0, y0: Integer);
begin
x:=x0;
y:=y0;
end;
procedure TBase.setX(x0: Integer);
begin
x:=x0;
end;
procedure TBase.setY(y0: Integer);
begin
y:=y0;
end;
function TBase.getX: Integer;
begin
result:=x;
end;
function TBase.getY: Integer;
begin
result:=y;
end;
end.Выдает ошибку Incompetible Types в: constructor TAnimate.Create(x0, y0: Integer; bitmap0: array of TBitmap; maxFrame0: Integer); begin bitmap:=bitmap0; //вот в этом месте ошибка Очень-очень сильно прошу помочь. Видел в интернете описание с подобной ошибкой и пути решения, но так и не смог ее исправить. Прошу подробного кода на данном примере Последний раз редактировалось Admin, 22.03.2014 в 19:30. |
|
#2
|
|||
|
|||
|
Try this:
Код:
constructor TAnimate.Create(x0, y0: Integer; bitmap0: array of TBitmap;
maxFrame0: Integer);
var
I : Integer;
begin
x:=x0;
y:=y0;
SetLength(bitmap,Length(bitmap0));
For I := Low(bitmap0) to High(bitmap0) Do
bitmap[i] := bitmap0[i];
curFrame:= 0;
maxFRame:= maxFrame0;
end; |