Harvest Moon Dialog

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Ironstorm

Erstklassiger Contest-Veranstalter

Betreff: Harvest Moon Dialog

BeitragSa, Aug 28, 2004 17:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi @ all!
Ich wollt bei meine neuen Spiel so ein Dialog wie bei Harvest Moon machen. Das beim Text die Buchstaben nacheinander erscheinen. Hat jemand eine Idee wie ich as machen könnte?
..:: blackbird design : blackbird photography : Futuro Verde : X-Commander ::..
MacBook | Intel Core 2 Duo 2,1 GHz | 2048 MB RAM | 80 GB HDD | Mac OS X 10.6.2 (Snow Leopard) | Adobe CS4 Design Premium

Spectrum

BeitragSa, Aug 28, 2004 18:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Meinst du so Question

SetBuffer BackBuffer()
Font1=LoadFont("arial",24,1,0,0): SetFont Font1 ;Schriftart setzen
x=0
p=1
a$="ABCDEFGHIJKLMNOPQRSTUVWXYZ" ;Dein Text
l=Len(a$)
While Not KeyDown(1)
x=x+1
If x> 10
p=p+1
If p>l Then p=l
x=0
EndIf
Text 20,20,Mid(a$,1,p)
Flip
Wend

Du kannst ja noch wie bei Harvest Moon so nen Piepton zwischen
die Buchstaben setzen Idea
mein erstes Projekt: DTM Racer
Fortschritt: 2%
  • Zuletzt bearbeitet von Spectrum am Mo, Aug 30, 2004 1:02, insgesamt einmal bearbeitet
 

junky

BeitragSa, Aug 28, 2004 19:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

hab da auch noch en bisl Code von mir gefunden, der ne Console darstellt vllt hilfts dir ja weiter...

INCLUDE "Console.bb"
Code: [AUSKLAPPEN]

;========================================================================================\
; ConsoleReady    => wenn Zeile komplett erschienen ist, wird ConsoleReady auf 1 gesetzt ;
;                    dadurch kann man z.B. sicherstellen, dass die jetzige Zeile vor der ;
;                    nächsten Eingabe auch wirklich komplett zu sehen ist                ;
; MaxConsoleLines => maximale Anzahl der möglichen Zeilen innerhalb der Console          ;
; ConsoleSpeed    => Geschwindigkeit zum Erscheinen der einzelnen Buchstaben             ;
;                    wenn ConsoleSpeed = 0 erscheint die komplette Zeile direkt          ;
;========================================================================================/

Global ConsoleFont, ConsoleCounter, ConsoleReady=1, MaxConsoleLines=5, ConsoleSpeed=4
ConsoleFont  = LoadFont("Verdana", "12")

Type ConsoleType
   Field Text$
   Field Color
   Field MaxLetter
   Field ActiveLetter
End Type

Dim Console.ConsoleType(MaxConsoleLines)
For a=1 To MaxConsoleLines
   Console(a) = New ConsoleType
Next

Function WriteConsole(String$, Red=150, Green=150, Blue=150)

   For a=MaxConsoleLines To 2 Step -1
      Console(a)\Text       = Console(a-1)\Text
      Console(a)\Color      = Console(a-1)\Color
      Console(a)\MaxLetter    = Console(a-1)\MaxLetter
      Console(a)\ActiveLetter = Console(a-1)\MaxLetter
   Next
   
   Console(1)\Text         = String$
   Console(1)\Color        = Red*$10000 + Green*$100 + Blue
   Console(1)\MaxLetter    = Len(String$)
   Console(1)\ActiveLetter = 0
   ConsoleReady=0
   
End Function

Function ShowConsole(x=0, y=0, TopToBottom=1)

;============================================================================\
; x            => x-Position der Console                                     ;
; y            => y-Position der Console                                     ;
; TopToBottom  => wenn 1 erscheinen die Zeilen von oben nach unten           ;
;                 wenn 0 erscheinen die Zeilen von unten nach oben           ;
;============================================================================/

   If ConsoleReady=0
      If ConsoleSpeed=0
         Console(1)\ActiveLetter = Console(1)\MaxLetter
         ConsoleReady=1
      Else
         ConsoleCounter = ConsoleCounter + 1
         If ConsoleCounter = ConsoleSpeed
            ConsoleCounter = 0
            If Console(1)\ActiveLetter = Console(1)\MaxLetter
               ConsoleReady=1
            Else
               Console(1)\ActiveLetter = Console(1)\ActiveLetter + 1
            EndIf
         EndIf
      EndIf
   EndIf

   
   SetFont ConsoleFont
   For a=1 To MaxConsoleLines
   
      If TopToBottom
         b=a-1
      Else
         b=MaxConsoleLines-a
      EndIf
      
      Color 0, 0, Console(a)\Color
      Text x+OriginX,y+OriginY+b*12,Mid(Console(a)\Text, 1, Console(a)\ActiveLetter)
      
   Next
End Function

;=======================\
;     21.04.2004        ;
;     Code by Junky     ;
;     ICQ: 98837491     ;
;=======================/


kleiner BspCode
Code: [AUSKLAPPEN]

Graphics(800,600,32,1)
SeedRnd MilliSecs()

Include "Console.bb"

WriteConsole("Mit Space nächste Textzeile in Console schreiben lassen")
SetBuffer(BackBuffer())
Repeat
   ; Zeileneingabe erst, wenn SpaceTaste gedrückt und Console bereit
   If KeyHit(57) And ConsoleReady
      WriteConsole("Test ABCdef123", Rand(1,255), Rand(1,255), Rand(1,255))
   EndIf
   Cls
   ShowConsole(GraphicsWidth()-300,0)
   Flip
Until(KeyHit(1))
End


viel Spaß damit...
gestern stand ich noch vorm Abgrund
heute bin ich einen Schritt weiter...

Kabelbinder

Sieger des WM-Contest 2006

BeitragSo, Aug 29, 2004 21:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ding hier erstellt in einem Dim-Feld einzelne Strings:

Code: [AUSKLAPPEN]
Graphics 640,480,16,1
SetBuffer BackBuffer()

Dim letters$(1000)
satz$ = "Lassen wir's mal auf sich beruhen..."
anz = Len(satz$)

;festlegen
For i = 1 To anz
letters$(i) = Left$(satz$,i)
Next

WaitKey
;ausgeben
For i = 1 To anz
Text 0,0,letters$(i),0,0
Flip
Delay 50
Cls
Next

WaitKey
End


Diese vers. hier mit maximal 1000 Zeichen.
(Mehrdimensional für mehr Zeilen.)
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group