Seite 1 von 2

Vollbildschirmtextscroller

Verfasst: 02.08.2005 16:50
von PMTheQuick
Hallo,

ich war gerade beschäftigt mein Spiel zu programmieren. Ich bräuchte einen Code für nen Vollbildschirmtextscroller. Der Text muss in einer txt-Datei stehen und die Grösse von Bildschirm sollte auch einfach zu verändern sein, so das man nur zwei Variablen verändern muss. Antwortet bitte so schnell wie möglich.

Pascal :( :cry:

Verfasst: 02.08.2005 16:55
von Batze
Wie meinst du das mit dem Textscroller.
Ich meine worein willst du das einbetten?
In dein Spiel?

Verfasst: 02.08.2005 17:06
von PMTheQuick
Ja, in mein Spiel!

Pascal :( :cry: :( :cry: :( :cry: :( :cry: :cry: :( :cry: :cry: :( :cry: :(

Verfasst: 02.08.2005 17:11
von Batze
Und das ist wie aufgebaut?
Screen? Window? Console? WindowedScreen?

[offtopic]Wie oft wechselts du eigentlich dein Avatar? :lol: [/offtopic]

Verfasst: 02.08.2005 17:17
von PMTheQuick
[offtopic]
Batze hat geschrieben: [offtopic]Wie oft wechselts du eigentlich dein Avatar :lol: [/offtopic]
Sehr oft! :lol: :lol: :lol:

[/offtopic]

Es ist mit einem Screen aufgebaut.

Pascal :D

Verfasst: 02.08.2005 17:37
von Batze

Code: Alles auswählen

InitSprite()
InitKeyboard()
OpenScreen(1024, 768, 32, "Lauftext")

Procedure CreateLauftext(file.s, font.s, size.l)
  Shared LauftextX.f, Lauftext_Text.s 
  LauftextX = 0
  LoadFont(0, "font", size, #PB_Font_Italic)
  If ReadFile(111, file)
    Lauftext_Text = ReadString()
    CloseFile(111)
    ProcedureReturn 1
  EndIf
  ProcedureReturn 0
EndProcedure

Procedure ZeicheLauftext(Speed.f, y.w, color.l)
  Shared LauftextX.f, Lauftext_Text.s 
  StartDrawing(ScreenOutput())
  DrawingFont(UseFont(0))
  DrawingMode(1)
  FrontColor(Red(color), Green(color), Blue(color))
  Locate(-LauftextX, y)
  LauftextX + Speed
  DrawText(Lauftext_Text)
  StopDrawing()
EndProcedure

If CreateLauftext("lauftext.txt", "Courir", 100) = 0 : End : EndIf

Repeat
  ExamineKeyboard()
  ClearScreen(0,0,0)
  ZeicheLauftext(1.5, 10, $FF0000)
  FlipBuffers()
 
Until KeyboardPushed(#PB_Key_Escape)
Bitte erstell dir vorher eine Datei "Lauftext.txt" im selben Ordner. Es wär auch nicht schlecht wenn du was reinschreiben würdest. :wink:

Verfasst: 02.08.2005 17:45
von PMTheQuick
Danke Batze! :D Ich kann es sehr gut gebrauchen. Jetzt bräuchte ich einfach nochmal den gleichen Scroller, einfach von unten nach oben.

Also so:

1.
PB
BB
C++
C+

2.
BB
C++
C+

3.
C++
C+

4.
C+

usw.

Und wenn es ganz oben ist, fängt es wieder unten an.

Pascal :mrgreen:

Verfasst: 02.08.2005 19:28
von Batze
Hier erstmal, dass es nach dem Ende weiterläuft:

Code: Alles auswählen

InitSprite()
InitKeyboard()
OpenScreen(1024, 768, 32, "Lauftext")

Procedure CreateLauftext(file.s, font.s, size.l)
  Shared LauftextX.f, Lauftext_Text.s 
  LauftextX = -1024
  LoadFont(0, "font", size, #PB_Font_Italic)
  If ReadFile(111, file)
    Lauftext_Text = ReadString()
    CloseFile(111)
    ProcedureReturn 1
  EndIf
  ProcedureReturn 0
EndProcedure

Procedure ZeicheLauftext(Speed.f, y.w, color.l)
  Shared LauftextX.f, Lauftext_Text.s 
  StartDrawing(ScreenOutput())
  DrawingFont(UseFont(0))
  DrawingMode(1)
  FrontColor(Red(color), Green(color), Blue(color))
  Locate(-LauftextX, y)
  LauftextX + Speed
  DrawText(Lauftext_Text)
  If LauftextX > TextLength(Lauftext_Text) - 1000
    LauftextX = -1024
  EndIf
  StopDrawing()
EndProcedure

If CreateLauftext("lauftext.txt", "Courir", 100) = 0 : End : EndIf

Repeat
  ExamineKeyboard()
  ClearScreen(0,0,0)
  ZeicheLauftext(3.5, 10, $FF0000)
  FlipBuffers()
 
Until KeyboardPushed(#PB_Key_Escape)

Verfasst: 03.08.2005 13:30
von hardfalcon
@pm: Ähh, das Anfängerforum ist für Leute gedacht, die ihr Projekt zwar SELBER coden wollen, aber bei irgendwas nicht weiter wissen, und ihr Problem für ein "Anfängerproblem" halten, nicht für Leute, die alles von anderen Forumusern fertig gecodet hingeschmissen bekommen wollen... :|

Verfasst: 03.08.2005 13:38
von freedimension
hardfalcon hat geschrieben:@pm: Ähh, das Anfängerforum ist für Leute gedacht, die ihr Projekt zwar SELBER coden wollen, aber bei irgendwas nicht weiter wissen, und ihr Problem für ein "Anfängerproblem" halten, nicht für Leute, die alles von anderen Forumusern fertig gecodet hingeschmissen bekommen wollen... :|
Nicht ganz. Das Anfängerforum ist für alle Leute die offensichtlich Anfänger sind, ob diese sich dann selbst weiterbilden möchten und Eigeninitiative zeigen oder nur Code-Schnippsel aneinanderfügen ist dabei unerheblich. Deswegen hatte ich den Thread ja auch hierher verschoben <)