Einzelnen Beitrag anzeigen

Benutzerbild von bigben37
bigben37

Registriert seit: 19. Dez 2007
Ort: Freiburg
116 Beiträge
 
Delphi 2009 Professional
 
#1

[Andorra 2D] TPhysicalBoxSprite bei X=0 unsichtbar

  Alt 15. Nov 2008, 12:55
Hallo DPler,

ich befasse mich gerade mit den PhysicalSprites von Andorra 2D und da ist mir etwas seltsames aufgefallen:
Ich wollte einen Raum mit Wänden, die PhysicalBoxSprites sind, erstellen. Wenn ich diesen Sprites 0-Koordinaten zuweise (also x := 0), dann sind sie unsichtbar. Aber trotzdem finden eine Kollision statt

Mein Code:
Delphi-Quellcode:
type
  TWall = class(TPhysicalBoxSprite);

  TBottom = class(TWall);
  TLeftWall = class(TWall);
  TRightWall = class(TWall);
  TTop = class(TWall);

implementation

procedure TForm1.FormCreate(Sender: TObject);
 
  [...]

if AdDraw.Initialize then
  begin

    [...]

    with TTop.Create(SpriteEngine) do
      begin
        Image := ImageList.Find('wall');
        X := 0{ + 1};
        Y := 0{ + 1};
        Typ := ptStatic;
        Width := 800;
        InitializeShape;
      end;

    with TBottom.Create(SpriteEngine) do
      begin
        Image := ImageList.Find('wall');
        X := 0{ + 1};
        Y := 600 - Height;
        Typ := ptStatic;
        Width := 800;
        InitializeShape;
      end;


    for i := 0 to 600 div 50 do
      begin
        with TLeftWall.Create(SpriteEngine) do
          begin
            Image := ImageList.Find('wall');
            X := 0{ + 1};
            Y := i * 50;
            Typ := ptStatic;
            InitializeShape;
          end;
      end;

    for i := 0 to 600 div 50 do
      begin
        with TRightWall.Create(SpriteEngine) do
          begin
            Image := ImageList.Find('wall');
            X := 780;
            Y := i * 50;
            Typ := ptStatic;
            InitializeShape;
          end;
      end;

  end;
end;
Wenn man den Sprites aber 1 statt 0 zuweist (in den geschweiften Klammern), sind sie wieder sichtbar. Allerdings ist dann ein 1-Pixel breiter Streifen oben und links zu sehen.

Und jetzt meine Frage : Wieso ist das so?

PS: Ich habe die Demo Physics neu kompiliert, und dort wird der Boden auch nicht mehr angezeigt.

MFG, Benjamin
Miniaturansicht angehängter Grafiken
sichtbar_861.jpg   unsichtbar_143.jpg  
Benjamin
Optimismus ist nur ein Mangel an Information
  Mit Zitat antworten Zitat