Hi, ich habe das jetzt so gemacht, ich habe jeder Richtung nen Integer zugeteilt "Direction". wenn ich nach oben gehen wird er auf 0 gesetzt, nach rechts auf 1, nach unten auf 2 und nach links auf 3.
dann habe ich das zu meiner kollision geschrieben:
Delphi-Quellcode:
procedure TAnimation.DoCollision(Sprite: TSprite; var Done: Boolean);
begin
if sprite is TGegenstand and (Direction = 0) or (Direction = 1) or (Direction = 2) or (Direction = 3) then
begin
beep;
speed := -2;
end
else
begin
speed := 2;
end;
end;
EDIT!!!
Also ich merke gerade das diese version nicht sinnvoll ist. Wenn ich das Bild berühre, werde ich zwar zb nach hinten gesetzt, aber die Steuerung bleibt danach invertiert, obwohl ich das object garnichtmehr berühre.
Und so toll ist diese Variante nicht, mit dem einfach nach hinten setzen.
Gibts nicht ne einfachere version wo man einfach nur sagt das dieser block nicht passable ist??
Cu