Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Spielfeld für Bomberman Spiel (https://www.delphipraxis.net/3169-spielfeld-fuer-bomberman-spiel.html)

Dansen 26. Feb 2003 17:49


Spielfeld für Bomberman Spiel
 
Hallo Delphi-Forum User!

Wir suchen eine Möglichkeit, ein Spielfeld auf das Formular zu zaubern. Es soll aus mehreren Bitmaps bestehen (zb. 16x16). Dies soll mit einem StringGrid verwirklicht werden. Dabei dürfen die Bilder nicht von einem bestimmten Verzeicnis abhängen. (also nicht \IMages\ zum Beispiel).

Wir wissen nicht wie wir das lösen sollen. Habt Ihr eine Idee. Wie fügt man Bilder, die irgendwo auf der Platte liegen in StringGrids ein?

MFG Dansen

nailor 26. Feb 2003 21:58

Ähm, ich würde kein StringGrid (oder was auch immer) nehmen, sondern alles auf das Canvas von einem Bitmap packen.

Dansen 27. Feb 2003 12:09

Hallo!

Habe jetzt mal folgendes gecodet:
Code:

Code:
unit U_Leveledit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls, ExtCtrls;

type
  Tform_leveledit = class(TForm)
    drawgrid_edit: TDrawGrid;
    drawgrid_auswahl: TDrawGrid;
    btn_laden: TButton;
    btn_speichern: TButton;
    btn_ok: TButton;
    Image1: TImage;
    procedure FormCreate(Sender: TObject);
    procedure drawgrid_auswahldrawcell(Sender: TObject; ACol: Integer; Rect: TRect; State: TGridDrawState);




  private
    { Private-Deklarationen } 

  public
    { Public-Deklarationen } 
  end;

var
  form_leveledit: Tform_leveledit;
  Bildfeld : Array[1..24] of TBitmap;
  Spielfeld: Array[1..16,1..16] of TBitmap;

implementation

{$R *.dfm} 


// Bilder in Auswahlliste laden

procedure Tform_leveledit.FormCreate(Sender: TObject);
begin
  Bildfeld[1] := TBitmap.Create;
  Bildfeld[1].LoadFromFile('Bilder\busch.bmp');

end;

procedure Tform_leveledit.drawgrid_auswahlDrawCell
  (Sender: TObject; ACol : Integer; Rect: TRect; State: TGridDrawState);
begin
  with sender as TDrawGrid do
    Canvas.Draw(Rect.Left,Rect.Top,Bildfeld[1]);
end;

end.
:firejump:

Das funktioniert jetzt, ABER: Wie bekomme ich jetzt das Bild in die Anzeige? Ich schaffe es nicht. Ich will die Prozedur Tform.leveledit.drawgrid_auswahlDrawCell gleich am OnFormCreate starten. Wie mache ich das ? Wenn ich es aufrufe, dann erhalte ich immer die Fehlermeldung "Nicht genügend wirkliche Parameter" Wie ist genau der Aufruf ???

MFG Dennis

Basti 1. Mär 2003 12:20

Versuch doch mal, die
procedure Tform_leveledit.drawgrid_auswahlDrawCell
gleich in die procedure Tform_Create Methode zu packen. :firejump:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:55 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