AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[DelphiX] Sprites

Ein Thema von 3_of_8 · begonnen am 4. Jul 2006 · letzter Beitrag vom 6. Jul 2006
Antwort Antwort
Seite 4 von 4   « Erste     234   
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#31

Re: [DelphiX] Sprites

  Alt 6. Jul 2006, 14:39
Sieht für mich auf jeden fall richtig aus...

Was geht denn genau nicht? Wie willst du denn das ganze Zeichenen? Wie sieht diese Routine aus?
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#32

Re: [DelphiX] Sprites

  Alt 6. Jul 2006, 14:40
Delphi-Quellcode:
DXDraw1.Fill(0);
Map.Draw(DXDraw1.Surface, Tiles);
DXDraw1.Flip;
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#33

Re: [DelphiX] Sprites

  Alt 6. Jul 2006, 14:43
Ja... Was ist Map? Wie sieht da die impelementierung aus?
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#34

Re: [DelphiX] Sprites

  Alt 6. Jul 2006, 15:12
Delphi-Quellcode:
unit Map;

interface

uses SysUtils, Classes, DXDraws, Tiles, Dialogs;

type
  TMapField=Byte;

  TMapFields=array of array of TMapField;

  TMap=class
  protected
    FFields: TMapFields;
    FWidth, FHeight: Cardinal;
    function GetField(I, J: Cardinal): TMapField;
    procedure SetField(I, J: Cardinal; Value: TMapField);
    procedure SetWidth(Value: Cardinal);
    procedure SetHeight(Value: Cardinal);
  public
    procedure Clear;
    procedure Draw(Surface: TDirectDrawSurface; Tiles: TTiles);
    procedure LoadFromFile(FileName: string);
    procedure SaveToFile(FileName: string);
    property Width: Cardinal read FWidth write SetWidth default 0;
    property Height: Cardinal read FHeight write SetHeight default 0;
    property Fields[I, J: Cardinal]: TMapField
    read GetField write SetField; default;
  end;

implementation

procedure TMap.Clear;
var I, J: Cardinal;
begin
  for I:=0 to FWidth-1 do
    for J:=0 to FHeight-1 do
      FFields[I, J]:=0;
end;

function TMap.GetField(I, J: Cardinal): TMapField;
begin
  Result:=FFields[I, J];
end;

procedure TMap.SetField(I, J: Cardinal; Value: TMapField);
begin
  FFields[I, J]:=Value;
end;

procedure TMap.SetWidth(Value: Cardinal);
begin
  FWidth:=Value;
  setlength(FFields, FWidth, FHeight);
end;

procedure TMap.SetHeight(Value: Cardinal);
begin
  FHeight:=Value;
  setlength(FFields, FWidth, FHeight);
end;

procedure TMap.Draw(Surface: TDirectDrawSurface; Tiles: TTiles);
var I, J: Cardinal;
begin
  for I:=0 to FWidth-1 do
    for J:=0 to FHeight-1 do
    begin
      Tiles[FFields[I, J]].
        Draw(Surface, I*Tiles.tilewidth, J*Tiles.tileheight, 0);
    end;
end;

procedure TMap.LoadFromFile(FileName: string);
var fs: TFileStream;
begin
  fs:=TFileStream.Create(FileName, fmOpenRead);
  fs.Read(FWidth, SizeOf(Cardinal));
  fs.Read(FHeight, SizeOf(Cardinal));
  SetLength(FFields, FWidth, FHeight);
  fs.Read(FFields[0, 0], FWidth*FHeight*sizeof(TMapField));
  fs.free;
end;

procedure TMap.SaveToFile(FileName: string);
var fs: TFileStream;
begin
  fs:=TFileStream.Create(FileName, fmOpenWrite);
  fs.Write(FWidth, SizeOf(Cardinal));
  fs.Write(FHeight, SizeOf(Cardinal));
  fs.Write(FFields[0, 0], FWidth*FHeight*sizeof(TMapField));
  fs.free;
end;

end.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#35

Re: [DelphiX] Sprites

  Alt 6. Jul 2006, 15:38
Welche Version von DelphiX hast du? Das neuste UnDelphiX 1.07a? (Steht in der Unit DXDraws.pas irgendwo oben...).

Probiere außerdem mal noch in TTile imglist.initialize(DXDraw);
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#36

Re: [DelphiX] Sprites

  Alt 6. Jul 2006, 16:45
99.08.29? Steht jedenfalls in der Setup.inf.

Ich hab keine Ahnung, wo ich sonst nachschauen soll.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#37

Re: [DelphiX] Sprites

  Alt 6. Jul 2006, 17:36
nene, is wirklich bereits verknüpft, so dumm sind a net
Also ich zumindest hab die neuste, da gehts auch nicht.
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#38

Re: [DelphiX] Sprites

  Alt 6. Jul 2006, 17:38
WTF?
Wasdasfürsatz?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#39

Re: [DelphiX] Sprites

  Alt 6. Jul 2006, 18:10
das mit verknüpft bezog sich auf das mit der imagelist und dem DXDraw
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz