Schrift nach bestimmter länge abschneiden
Übersicht

Freak123Betreff: Schrift nach bestimmter länge abschneiden |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe versucht eine Laufschrift zu programmieren.
Leider schaffe ich es nicht den Text nach dem bestimmten Bereich abzuschneiden. Gibt es denn keine Möglichkeit die Zeichen, die in einen Bereich passen, zu berechnen? Mein aktueller Stand: Code: [AUSKLAPPEN] Graphics 1024,768,32,2 SetBuffer BackBuffer() Local tex$="-----" For i=0 To 15 tex$=tex$+"hallo" Next Local dx=0, tex2$=tex$ Const speed=2 Local timer=CreateTimer(60) Repeat Rect 100,100,400,30,0 Text 120-dx,115-StringHeight(tex2$)*0.5,tex2$ If dx>StringWidth(Left(tex2$,1)) Then tex2$=Mid(tex2$,2,-1) : dx=0 dx=dx+speed If StringWidth(tex2$)<360 Then dx=0 : tex2$=tex$ Flip WaitTimer timer Cls Until KeyHit(1) EndGraphics End Hatte vor sie in meinen MP3Player einzubauen.(für überlange Titel) lg Freak |
||
![]() |
ZEVS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst in einer Schleife mit Left![]() ![]() ![]() ZEVS |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sicherlich ist das möglich... erfordert nur eine passende Funktion. Was versuchst du denn da genau zu machen? | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Freak123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ziel war es eine Funktion zu schreiben, die einen Text in einem dafür zugewiesenen Platz ausgiebt.
@ZEVS: Die Idee ist gut, aber ist es die einzige Möglichkeit eine Schleife zu benutzen? Der Text wird ja jeden Durchlauf gezeichnet(jedes mal Schleifen durchlauf) Zum Viewport: Ich benutze ja nur 2D. lg |
||
![]() |
ZEVS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Viewport![]() ![]() ZEVS |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mit Viewport kann man sich alle Berechnungen sparen: einfach 2x Zeichnen. Einmal sieht man den vorderen, einmal den hinteren Teil. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Freak123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke.
Habs so gelöst: Code: [AUSKLAPPEN] Graphics 1024,768,32,2
SetBuffer BackBuffer() Local x=100 Local y=100 Local w=400 Local h=30 Local dx=0 Local tex$="Langer Lauftext: " For i=0 To 15 tex$=tex$+"hallo" Next Local timer=CreateTimer(60) Repeat Viewport 0,0,GraphicsWidth(),GraphicsHeight() Text 0,0,"Ein anderer Text" ;Scrollbar Viewport x,y,w,h Rect x,y,w,h,0 Text x-dx,y+h*0.5-StringHeight(tex$)*0.5,tex$ dx=dx+1 If dx>StringWidth(tex$)-w Then dx=0 Flip WaitTimer timer Cls Until KeyHit(1) End Vielen dank! Man bisher relativ wenig zum thema Laufschrift. Trotzdem. Ist das nicht lamgsam? Bei dem Minniprogramm merkt mans ja nicht. lg freak |
||
![]() |
ZEVS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Man bisher relativ wenig zum thema Laufschrift. Trotzdem. Ist das nicht lamgsam? Bei dem Minniprogramm merkt mans ja nicht. Schreibst du, um gelesen zu werden? ZEVS |
||
Seven |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Kleine Anmerkung:
Vor Flip fehlt die 0. EDIT: Ich meinte natürlich hinter Flip ![]() |
||
- Zuletzt bearbeitet von Seven am Sa, Jan 14, 2012 15:26, insgesamt einmal bearbeitet
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst auch ein Bild erzeugen, dass der Größe deines Laufschrift-Anzeigebereichs entspricht, und über den Imagebuffer in das Bild zeichnen.
Das Abschneiden ergibt sich dann automatisch daraus, dass, wenn du über den Imagebuffer hinaus zeichnest, sich am Bild nichts ändert. Am Ende musst du dann nurnoch das Bild an beliebiger Position zeichnen. (Vorher wieder Setbuffer Backbuffer ![]() P.S.: Zu erwähnen währe, dass Die Write- / Readpixelfast-Befehle Speicherzugriffsverletzungen erzeugen, wenn man in einem gelocktem Imagebuffer über die Dimensionen hinaus zu zeichnen versucht. Seven hat Folgendes geschrieben: Kleine Anmerkung:
Vor Flip fehlt die 0. HINTER Flip fehlt die 0. |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
- Zuletzt bearbeitet von hazumu-kun am Sa, Jan 14, 2012 15:08, insgesamt einmal bearbeitet
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Unsinn. Genau dafür gibt es Viewport![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Xeres hat Folgendes geschrieben: Unsinn. Genau dafür gibt es Viewport
![]() Ob meine Lösung sinnig ist, habe ich ja nicht behauptet. Aber müsste man nicht für die selbe Laufschrift an verschiedenen Positionen das gesammte Spielchen zweimal mit unterschiedlichem Viewport machen? Ich hätte da ein Bild als Zwischenspeicher benutzt... |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
Freak123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich werde trotzdem bbei der Lösung mit den Viewports bleiben, da ich eventuell
auch die Geschwindigkeit der laufschriften, pro laufschrift extra einstellen möchte. Hier würde die Lösung mit den Images nur unnötig Speicher fressen, weil ich dann sowieso für jede Laufschrift ein eigenes Bild bräuchte. In den seltensten Fällen braucht man eine Laufschrift doppelt, es sei denn programmiert die Werbung rund um ein Fußballfeld. lg freak |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
hazumu-kun hat Folgendes geschrieben: Aber müsste man nicht für die selbe Laufschrift an verschiedenen Positionen das gesammte Spielchen zweimal mit unterschiedlichem Viewport machen?
Nein. Erst wird das Spiel an sich gemalt, dann ein Viewport festgelegt und der Schriftkram reingeballert.Zum Schluss den Viewport wieder auf normal stellen, fetig ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du hast nicht verstanden was ich meinte. Ich meinte zweimal die exakt selbe Laufschrift, nicht zweimal das gesammten Spiel. Tut mir Leid wenn meine Formulierung dich da in die Irre geleitet hat. | ||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group