Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Spiellevel in eine Form laden (https://www.delphipraxis.net/21011-spiellevel-eine-form-laden.html)

triX 26. Apr 2004 17:47


Spiellevel in eine Form laden
 
HEy!

Problem: Ich habe ein Level m.H. eines LEveleditors erzeugt und will dieses jetzt zur Laufzeit ins Spiel laden! Klappt auch wenn ich es als eigenständiges Projekt behandele! Wenn ich nun jedoch mehrere Units miteinander verknüpfe (sprich erst menü dann weiter ins spiel) klappt dieselbe Routine plötzlich nicht mehr!! Nun wollte ich fragen ob sich das jemand erklären kann??

am besten mal in den Code schauen!!

Code:
procedure TForm_spiel.FormPaint(Sender: TObject);
var
  i, s,z : BYTE;
  element : TElemente;
  err, BildName : STRING;

  rechteck:TRect;

begin


  {for element :=Stein to item do}
  if (NeuLaden) then
  begin
    for i:= Ord(Low(TElemente)) to Ord(High(TElemente)) do //durchläuft TElemente von unten nach oben

    BEGIN
      element:= TElemente (i);
      gvbild[element]:=TBitmap.Create;

      BildName:=gcElementName [element] + '.' + gcbmpext;

      Try
        with gvbild[element] do begin

        LoadFromFile(BildName);

        //nur zum Testen

        Transparent := True;
        TransParentColor := gvbild[element].canvas.pixels[50,50];
        Form_spiel.Canvas.Draw(50,50, gvbild[element]);


        Form_spiel.Canvas.LineTo(100,100);

        end;

      Except
        err := 'Datei: ' + BildName + ' konnte nicht geladen werden!' ;

        Application.MessageBox ( pChar (err) , 'Fehler', MB_OK);

        // bei Misserfolg -> Speicher wieder freigeben
        gvbild[element].Free;

      END; //Try
    END;

    with Form_spiel do begin  //Vollbildmodus ohne Taskliste
      left:=0;
      top:=0;
      borderstyle:=bsnone;
      width:=screen.Width;
      height:=screen.Height;
    end;

    gvMapDateiName := 'Maps/guteMap'+'.'+gcmapext;
    AssignFile(gvMapDatei,gvMapDateiName);
    ReSet(gvMapDatei);
    Read(gvMapDatei,gvMap);
    CloseFile(gvMapDatei);

    NeuLaden := FALSE;
  end;

   FOR s := 0 TO 31 DO
    FOR z := 0 TO 23 DO BEGIN
      rechteck.Left:=s*32;
      rechteck.top:=z*32;
      Form_spiel.Canvas.Draw(rechteck.Left,rechteck.Top,gvbild[gvMap[s,z] *
    END;

 end;
*Der Fehler tritt in der letzten Zeile auf!!!

thx triX

SleepyMaster 28. Apr 2004 16:07

Re: Spiellevel in eine Form laden
 
Send mal das ganze Projekt!


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz