Autor Beitrag
.50AE
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 100



BeitragVerfasst: Mi 10.01.07 23:01 
Hallo,

Mit Fear2D komm ich noch nicht so recht klar.

1. Eine Frage zum TextureManager
.AddTexturesInDir - Was ist mit pFileMask gemeint und was kann ich da einsetzen?
Und wie bestimmte ich die Texturnamen bei dieser Procedure?

2. Wegen 1. hab ich eine Textur mal vorläufig einzeln geladen, um mal zu testen, wie das geht. Sie wird jedoch nicht richtig angezeigt...
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
//Im OnShow des Forms.
TextureManager.AddTexture(extractfilepath(application.exename)+'gfx\game\Wall.bmp','bg');
...
Background := TSimpleObject.Create(Engine);
with Background do
 begin
  size := to_v2d(Engine.width, Engine.height);
  position := to_v2d(0,0);
  z := 0;
  Texture := 'bg';
  TileX := size.X;
  TileY := size.Y;
 end;

//ApplicationEventsIdle
 Engine.DoBegin;
 Background.Draw(true);
 Engine.DoEnd;

Ich sehe allerdings nur ein graues Rechteckt, das von der größe her dem Bild entsprechen könnte, allerdings ohne Textur.
Im Log steht:
O Texture: bg
- Datei: C:\...\gfx\game\Wall.jpg
(ohne Punkte natürlich)

MfG
50ae
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Do 11.01.07 00:40 
zu 1.:
Hier kannst du angeben, nach elchen Dateinen gesucht werden soll. Genau so wie bei FindFirst. Die Texturnamen ergeben sich aus den Dateinamen ohne Erweiterung. Beispiel:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
{Dateien sind:
wall.jpg
ball.bmp
player.jpg
}

 TextureManager.AddFilesInDir(extractfilepath(application.exename)+'gfx\game\*.jpg');
{
Fügt die folgenden Texturen hinzu:
  wall    aus wall.jpg
  player  aus player.jpg
}


zu 2.:
Das mit dem TileX/Y kommt mir komisch vor, ich guck mir das mal an...
EDIT: stimmt, das war der Fehler.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
  Background := TSimpleObject.Create(Engine);
  with Background do
   begin
    size := to_v2d(Engine.width, Engine.height);
    position := to_v2d(0,0);
    Ofs:= To_V2D(-Size.X / 2, -Size.Y / 2);
    z := 0;
    Texture := 'bg';
   end;


So geht es. Falls du nicht meine geänderte Version hast, muss die Zeile mit 'Ofs' weg. Da fällt mir auf, der Texturmanager braucht noch eine Überarbeitung (Stichwort: GL_TEXTURE_RECTANGLE_EXT)...
EDIT2: neue Version von meiner FEAR2D oben, mit genialer Lösung für ein uraltes Problem ;)

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
.50AE Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 100



BeitragVerfasst: Fr 12.01.07 18:10 
Okay, danke.

Das Bild wird jetzt angezeigt :)
Allerdings, so wie es aussieht, in einer anderen Auflösung.
Die Koordinaten 0,0 sind irgendwo links oberhalb von meinem Bildschirm und die Grafik ist, wenn ich die Größe auf 512x386 stelle, gut 2/3 so groß wie mein Bildschirm (anstatt halb so groß).
Meine Auflösung ist 1024x768; gibt es irgendein bestimmtes Verhältnis mit dem ich umrechnen kann. Oder ist es möglich, die Auflösung der Engine zu bestimmen?

MfG
50ae

//Edit: Wenn ich Engine.Zoom auf 0.68 Stelle passt das Bild ziemlich genau auf den Bildschirm, damit ist das Problem denke ich gelöst :)