2012-05-13 5 views
0

ゲームをプレイしたことがあれば、私の言いたいことが分かるかもしれません。ポケモンや他のゲームのように表示されているテキスト全体ではなく、手紙で文字を綴る方法。ビジュアルベーシックで手紙で文字をどのように表示しますか?

これは私がこれまで持っているものです。

Dim strTitle As String = " " 
    If IO.File.Exists("npcCraig.txt") = False Then 
     outfile = IO.File.CreateText("save.txt") 
    End If 

    infile = IO.File.OpenText("npcCraig.txt") 
    Do Until infile.Peek = -1 
     strTitle = infile.Read 'reads character or should at least 
     lblTitle.Text = lblTitle.Text + strTitle 
     System.Threading.Thread.Sleep(1000) 
    Loop 
    infile.Close() 
    outfile.Close() 

それは動作しますが、Form1があるため、「System.Threading.Thread.Sleep(1000)」のまったく表示されません。 私はそれを遅らせる方法としてそれを使用しようとしましたが、それは明らかに機能しませんでした。

また、ユーザーがキーを押したときにテキストが完全に読み込まれ、プレーヤーが続行できるように、中断する方法を教えてください。私はそれで失われています。

すべてのヘルプは素晴らしいと思います!私の教科書やインターネットの残りの部分はありません役立った

+0

は、あなたが何を意味するかを説明することはできますか?あなたは1秒間1つの文字を置いて別の文字に置き換えることを意味しますか?それとも、文字をスクロールしているのですか? – sarnold

+2

タイマーはThread.Sleep()よりも適しているようです。 –

+0

は、文字を表示し、わずかな遅延を示し、次にテキスト全体が表示されるまで次の文字を表示します。 –

答えて

0

マイベストショットはこれです:

Public Class Form1 
    Dim M As Integer = 1 
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick 
     Dim T As String = "" + TextBox1.Text 
     Label1.Text = Label1.Text + Mid(T, M, 1) 
     M = M + 1 
    End Sub 
    'You can use any trigger here 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
     Timer1.Enabled = True 
    End Sub 
End Class 
関連する問題