Hallo
DP'ler,
ich versuche gerade ein Startmenü für ein
OpenGL Spiel zu erstellen.
Delphi-Quellcode:
s := TStringSprite.CreateString('Weiter', 4, 9.2, 0.5, 0.5, FontSprites.STRING_ALIGNMENT_LEFT);
s.Font := Constants.FontTexture;
s.Space := 0.5;
s.Z := 0;
s.Alignment := FontSprites.STRING_ALIGNMENT_LEFT;
Map.AddSprite(s);
So bekomme ich den Text einwandfrei angezeigt, so wies soll. Dies ist also reiner Text.
Da dies aber für jeden Menüeintrag ziemlich viel Code wäre und das Menü noch optisch aufgebessert werden soll, habe ich eine eigene
Unit erstellt. In dieser habe ich eine Funktion für den oben genannten Code geschrieben (oder es versucht^^).
Die
Unit sieht wie folgt aus:
Delphi-Quellcode:
unit BullsMenu;
interface
uses Sprites, FontSprites, Constants;
implementation
function BMenuItem(eintrag:TStringSprite; x,y,width,height: Single; Align: Integer): TStringSprite;
VAR Map : TTextureSprite;
BEGIN
eintrag := TStringSprite.CreateString(
String(eintrag), x, y, width, height, align);
eintrag.Font := Constants.FontTexture;
eintrag.Space := 0.5;
eintrag.Z := 0;
eintrag.Alignment := FontSprites.STRING_ALIGNMENT_LEFT;
Map.AddSprite(eintrag);
END;
END.
Das Problem ist nun, das ich wenn ich versuche diese Funktion in der "GameEngine.pas" aufzurufen (Dort wird auch der Text ausgegeben (s. Quellcode #1) erhalte ich einen undefinierte Bezeichnung.
Dort wird diese so aufgerufen:
BMenuItem('Start', 4, 9.2, 0.5, 0.5, FontSprites.STRING_ALIGNMENT_LEFT);
Vielen Dank schonmal für eure Hilfe!