AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi [Andorra] Text auf Sprites ausgeben
Thema durchsuchen
Ansicht
Themen-Optionen

[Andorra] Text auf Sprites ausgeben

Ein Thema von Codewalker · begonnen am 31. Dez 2007 · letzter Beitrag vom 31. Dez 2007
Antwort Antwort
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#1

[Andorra] Text auf Sprites ausgeben

  Alt 31. Dez 2007, 15:24
Ich habe ein Spielfeld (gerastert) mit Hilfe von Sprites. Nun möchte ich in der oberen linken Ecke jedes Feldes eine Zahl ausgeben. Wie kann ich das machen? Ein Sprite hat ja keinen Canvas und der Zugriff auf den normalen Canvas klappt auch leider nicht
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

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

Re: [Andorra] Text auf Sprites ausgeben

  Alt 31. Dez 2007, 15:55
Ganz einfach über:
TSprite.Engine.Surface.Canvas
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 Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#3

Re: [Andorra] Text auf Sprites ausgeben

  Alt 31. Dez 2007, 16:45
Hatte ich schon versucht, erzeugt aber beim Ausführen von SpriteEngine.Draw einen nicht näher einzugrenzenden Speicherfehler. Bin gerade auf der Suche, aber habe noch nichts gefunden...
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

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

Re: [Andorra] Text auf Sprites ausgeben

  Alt 31. Dez 2007, 17:26
Und was ist mit
Delphi-Quellcode:
with Engine.Surface.Fonts.GenerateFont('Arial',12,[]) do
begin
  TextOut(x,y,'Test');
end;
EDIT: Also folgendes funktioniert bei mir:
Delphi-Quellcode:
procedure TCharacter.DoDraw;
begin
  inherited;
  with Engine.Surface.Canvas do
  begin
    TextOut(Round(WorldX),Round(WorldY),'bla');
  end;
end;
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 wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#5

Re: [Andorra] Text auf Sprites ausgeben

  Alt 31. Dez 2007, 17:40
Delphi-Quellcode:
FAdDraw.Canvas.Font := FAdFontCollection.Font['1'];
FAdDraw.Canvas.Textout(X, Y, FPointsText);
Keine Ahnung, ob das im Sinne des Erfinders ( ) ist, aber das hat immer funktioniert. Ist ein Tetris Spiel, und wenn man eine Line weggehauen hat, wird Text mit den Punkten angezeigt, der erst groß ist, über eine Sekunde eingeblendet wird und dabei immer kleiner wird...
Zugegeben, auf Speichergeschichten habe ich nie geachtet..... und das ist schon ein bisschen her, also nicht mit der aktuellsten Version probiert.

Edit: Ihr versucht hier ja, auf einen Sprite zu malen .. Ich sollte erst dreimal überlegen und dann Posten, wenn die ersten paar Bier drin sind... Guten Rutsch, trotzdem!
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
Benutzerbild von STS301
STS301

Registriert seit: 6. Nov 2007
668 Beiträge
 
Delphi 7 Personal
 
#6

Re: [Andorra] Text auf Sprites ausgeben

  Alt 31. Dez 2007, 17:50
Zitat von wicht:
Keine Ahnung, ob das im Sinne des Erfinders ( ) ist, aber das hat immer funktioniert.
was glaubst du, mit wem schreibst du?
Sebastian

ölpölp

Linux will rule the universe!!
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

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

Re: [Andorra] Text auf Sprites ausgeben

  Alt 31. Dez 2007, 17:52
Doch, so ist das im Sinne des Erfinders - auf jeden Fall in der letzten Version.
Jetzt hat jedes TAdDraw schon automatisch eine Art "FontCollection", die mit dem "Generate"-Befehl entweder einen Font generiert oder einen existierenden mit den gleichen Eigenschaften zurückgibt.

Wenn man es direkt auf das Sprite haben will, sollte man vielleicht noch ein "Release" hinzufügen, damit der Text direkt gezeichnet wird - sonst macht es keinen Unterschied.

Auch einen guten Rutsch,
Andreas
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 wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#8

Re: [Andorra] Text auf Sprites ausgeben

  Alt 31. Dez 2007, 18:01
Zitat von STS301:
was glaubst du, mit wem schreibst du?
Dafür der Smiley Den Herrn Igel kenne ich und ääh.. Die Lobeshymnen lasse ich mal aus, das weiß der sowieso schon. Freut mich jedenfalls, dass mein Post nicht so stark verpeilt war, wie ich dachte. Oder war er das? Egal, ich werde erst morgen wieder hier rein schauen... Schönen Abend!
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#9

Re: [Andorra] Text auf Sprites ausgeben

  Alt 31. Dez 2007, 18:46
Also, alles in Ordnung - eure Lösung ist voll und ganz richtig. Ich hatte mit Dead einen Sprite als ungenutzt markiert und drei Zeilen später mit Free gelöscht ohne ihn aus der SpriteList zu nehmen. War also "menschliches Versagen"

In diesem Sinne, feiert schön und kommt mir gut ins neue Jahr
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:41 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