Dafür gibts doch einen eigenen Typ in DelphiX //<-Edit
Delphi-Quellcode:
TBackground = class(TBackgroundSprite)
private
public
//Bauplan:TBauplan; //<-edit eigenes Zeugs
end;
mal ein Beispiel von mir, das aber nicht copypaste-fähig ist und uralter Kot (ca. 2Jahre) ist. (Bsp. es fehlt der try except Block und und und...)
Delphi-Quellcode:
Procedure CreateBckGrnd(Bauplan_:TBauplan);
begin
while not CheckPicName(Bauplan_) do exit;
with TBackGround.Create(Grafikengine.DXSpriteEngine1.Engine) do
begin
Bauplan:=Bauplan_;
//TestI:=BauPlan.BplImageDatas.IMIndex;
Image :=Grafikengine.DXImageList1.Items.items[BauPlan.BplImageDatas.IMIndex];
x:=Bauplan.Position.x;
y:=Bauplan.Position.y;
z:=round(Bauplan.Position.z); //<-wichtig
visible:=true;
Image.Transparent:=true;
// MapWidth:=8;
// MApHeight:=8;
// tile:=Bauplan_.Tile;
Pre_Skal8(Bauplan.BplImageDatas.IMWidth,
Bauplan.BplImageDatas.IMHeight,
Bauplan.BplImageDatas.IMPic);
TestI:=BauPlan.BplImageDatas.IMIndex;
Grafikengine.DXImageList1.Items.Items[BauPlan.BplImageDatas.IMIndex].Picture:=Pre_Skal_ResultPic;
SetMapSize(Bauplan.BplImageDatas.IMMapWidth,Bauplan.BplImageDatas.IMMapHeight);
Image.Restore;
end;
end;
//edit
die Kollision kann in deinem Fall aber nicht mit TBackground gemacht werden,
sondern die Wände sollten vom Typ TImagesprite sein, da soweit ich in Erinnerung habe,
die beiden Typen nicht kollidieren.