在vb.net中保存并加载游戏

时间:2014-10-20 23:04:17

标签: vb.net load save

有没有我可以比我更轻松地保存或加载游戏?

保存代码

Dim file As System.IO.StreamWriter
file = My.Computer.FileSystem.OpenTextFileWriter("c:\Pugio Cadite\CharacterInformation.txt", True)
file.WriteLine(charactername)
file.WriteLine(characterrace)
file.WriteLine(characterclass)
file.WriteLine(characterGender)
file.WriteLine(charactergold)
file.WriteLine(characterlevel)
file.Close()

我还没有写过加载函数。

1 个答案:

答案 0 :(得分:0)

Imports System.Xml.Serialization

Public Class Form1
  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    'save the program variables
    Dim p As New ProgramVars
    p.Prop1 = "1"
    p.Prop2 = "2"
    p.Prop3 = "3"
    p.Prop4 = "4"
    Dim strFilename As String = "C:\Junk\Junk.xml"
    p.Save(strFilename)

    'load them into a different object
    Dim p2 As ProgramVars = ProgramVars.Load(strFilename)
    MsgBox(p2.Prop3)

  End Sub
End Class

<Serializable>
Public Class ProgramVars
  Property Prop1 As String
  Property Prop2 As String
  Property Prop3 As String
  Property Prop4 As String
  Sub Save(filename As String)
    Using fs As New System.IO.FileStream(filename, IO.FileMode.OpenOrCreate)
      Dim xs As New XmlSerializer(GetType(ProgramVars))
      xs.Serialize(fs, Me)
    End Using
  End Sub

  Shared Function Load(filename As String) As ProgramVars
    Using fs As New System.IO.FileStream(filename, IO.FileMode.OpenOrCreate)
      Dim xs As New XmlSerializer(GetType(ProgramVars))
      Return xs.Deserialize(fs)
    End Using
  End Function
End Class
相关问题