Frage zu Schriftsprite

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Bigmichi

Betreff: Frage zu Schriftsprite

BeitragFr, Feb 20, 2004 20:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie bekomme ich es hin das ich eintext ineinem Sprite darstellen kann hab versucht mit createtexture und dan mit dem Buffer zu schreiben aber die Texture war ständig zu groß wie kann man das den genau anpassen ? jemand schonmal sowas gemacht ?

würd emcih freuen üba Hilfe =)

DC

Sieger des B2D Retro Wettbewerb / Aug 04

BeitragFr, Feb 20, 2004 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm.. wenn ich dich richtig verstanden habe willst du wissen wie du dein Sprite pixelgenau positionieren und skalieren kannst?

Vllt hilft dir da mein Tutorial:
http://www.unrealsoftware.de/n..._bb_3dto2d
Core i5 4670K | 4 x 3,40 GHZ | 16 GB Ram | GeForce GTX 960 | HTC Vive | Win 10 Pro
www.UnrealSoftware.de | www.StrandedOnline.de | www.CS2D.com |
www.CarnageContest.com | www.Stranded3.com

Bigmichi

BeitragFr, Feb 20, 2004 21:02
Antworten mit Zitat
Benutzer-Profile anzeigen
neinmein eigentliches Problem ist dsa sich dsa Sprite an den Text anpasst Sad also egal welcher String man nimt sich das Sprite anpasst =) ich bekomme es hin in ein Texturebuffer zus chreibenudn den dananzuzeigen nur halt net gutmanchmal ist die Schrift total schmal anderes mal irgendwo oben das man sie net mehrlesen kann oder ur zu hälfte -.- will eigentlichnur ein Text zetnriert passgenau ineinem Sprite anzeigen =)

eine erklärung wäre cool oda ein Codebsp auch =)
 

INpac

BeitragFr, Feb 20, 2004 21:03
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm, schau dir mal auf blitzbasic.com im code archiv die "sprite control"-library an... da sind allerlei functionen zu so kram, auch zu text, glaub ich.
nimm dir die formeln raus, und dann kannstes weiterverwenden Smile

Merced

BeitragSa, Feb 21, 2004 1:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit StringWidth und StringHeight kannst Du rausfinden wie breit und hoch ein String in der jeweiligen Schrift ist. Rechne das Verhältnis aus schreib den Text dann in einen entsprechend dimensionierten Buffer. Dann noch Dein Sprite entsprechend Dimensionieren und fertig.
http://www.starship-battles.de.vu
http://www.venture-interactive.de.vu

Bigmichi

BeitragSa, Feb 21, 2004 9:47
Antworten mit Zitat
Benutzer-Profile anzeigen
du bist gut das versuche ich die ganze Zeit nur ich bekomme es einfach net hin das in ein Sprite ordentlich reinzubekommen Sad(

Könntemir den keiner HElfen ? Sad(

Merced

BeitragSa, Feb 21, 2004 11:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Graphics3D 800, 600, 16 ; Grafikmodus
camera = CreateCamera()

Text$ = "Ach leck mich doch..." ; Dein Text

font = LoadFont("Arial", 72) ; Hier lädtst Du die Schriftart, die Du haben willst, nebst Größe
SetFont font ; Schriftart setzen, zum schreiben und für StringWidth und Height

spritetex = CreateTexture(StringWidth(Text$), StringHeight(Text$)) ; Bild in der Größe die der Text haben wird erstellen
SetBuffer TextureBuffer(spritetex) ; Ausgaben auf das Bild
ClsColor 0, 0, 0 ; Hintergrundfarbe für das Bild
Cls  ; Bild entleeren
Color 255,255,255 ; Farbe des Textes
Text 0,0, Text$ ; Den Text auf das Image drucken
SetBuffer BackBuffer() ; Wieder auf den BackBuffer wechseln
sprite=CreateSprite() ; Dein Sprite erstellen
EntityTexture sprite, spritetex ; Die Textur draufklatschen
; Sprite skalieren. 100 ist der verkleinernde Faktor, musst Du mit spielen, je nach Fontsize
ScaleSprite sprite, TextureWidth(spritetex)/100.0, TextureHeight(spritetex)/100.0
; Das Sprite versetzt Positionieren um auszugleichen dass die Textur auf vielen GraKas
; einen Rand fabriziert, da Breite und Höhe des Textes nicht den unterstützen
; Textur-Breiten und Höhen entsprechen
PositionEntity sprite, ((TextureWidth(spritetex)/2)-(StringWidth(Text$)/2.0))/50.0,((TextureHeight(spritetex)/2)-(StringHeight(Text$)/2.0))/50.0,0

PositionEntity camera, 0,0,-10

RenderWorld
Flip

Repeat Until KeyHit(1)


So, ich hoffe, das hilft Dir Wink
http://www.starship-battles.de.vu
http://www.venture-interactive.de.vu

Bigmichi

BeitragSa, Feb 21, 2004 12:09
Antworten mit Zitat
Benutzer-Profile anzeigen
MEGA DANKE

Code: [AUSKLAPPEN]
ScaleSprite sprite, TextureWidth(spritetex)/100.0, TextureHeight(spritetex)/100.0


war das was miagefehlt hat ^^

echt danke =)

Merced

BeitragSa, Feb 21, 2004 13:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Bitte! Wink
http://www.starship-battles.de.vu
http://www.venture-interactive.de.vu

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group