⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spriteed.frm

📁 超级C&C有没有搞错,VB还能编出这种即时策略游戏来!没错,这就是我们的超级C&C!虽然游戏经常无故退出,但是原码仍有很多可圈可点的地方.祝你早日编出中国的超级RA,超级KKND,超级星际,超级家园
💻 FRM
📖 第 1 页 / 共 2 页
字号:
      Left            =   5160
      Top             =   4440
      Width           =   255
   End
   Begin VB.Label Label1 
      BackColor       =   &H00FFFFFF&
      BorderStyle     =   1  'Fixed Single
      Height          =   255
      Left            =   5520
      TabIndex        =   5
      Top             =   120
      Width           =   2415
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Check1_Click()
If Form1.Check1.Value = 1 Then
  cval = True
Else
  cval = False
End If
snum = Form1.List1.ListIndex
gnum = Form1.List2.ListIndex
Sprites(snum).SpriteFrameGroups(gnum).GroupRepeats = cval
End Sub
Private Sub Form_Load()
Call LoadAll
Form1.List1.AddItem "[NewSprite]"
Form1.List2.AddItem "[NewGroup]"
Form1.List3.AddItem "[NewFrame]"
Form1.List5.AddItem "[NewPic]"
Form1.List1.ListIndex = 0
Form1.List2.ListIndex = 0
Form1.List3.ListIndex = 0
Form1.List6.ListIndex = -1
Form1.List5.ListIndex = 0

Call LoadGraphicLibs
Call updateSpritenamelist
Call UpdateLibList
Call UpdatePicList
Call updateSpritelist
End Sub

Private Sub Form_Unload(Cancel As Integer)
Call SavePics
Call SaveSprites
End Sub

Private Sub HScroll1_Change()
Picture2.Left = -HScroll1.Value
End Sub

Private Sub List1_Click()
Call UpdateSpriteProperties
List2.ListIndex = 0
List3.ListIndex = 0
If List1.ListIndex <> 0 Then Call UpdateGroupList Else List2.Clear: List2.AddItem "[NewGroup]": List2.ListIndex = 0
If List2.ListIndex <> 0 Then Call UpdateFrameList Else List3.Clear: List3.AddItem "[NewFrame]": List3.ListIndex = 0
End Sub
Private Sub List1_KeyUp(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case 45 'insert
  For i = SpriteMax + 1 To List1.ListIndex + 1 Step -1
    Sprites(i).GroupMax = Sprites(i - 1).GroupMax
    Sprites(i).SpriteName = Sprites(i - 1).SpriteName
    For i2 = 1 To Sprites(i - 1).GroupMax
      Sprites(i).SpriteFrameGroups(i2).FrameMax = Sprites(i - 1).SpriteFrameGroups(i2).FrameMax
      Sprites(i).SpriteFrameGroups(i2).GroupRepeats = Sprites(i - 1).SpriteFrameGroups(i2).GroupRepeats
      Sprites(i).SpriteFrameGroups(i2).SpriteGroupName = Sprites(i - 1).SpriteFrameGroups(i2).SpriteGroupName
      For i3 = 1 To Sprites(i - 1).SpriteFrameGroups(i2).FrameMax
        Sprites(i).SpriteFrameGroups(i2).SpriteFrames(i3).Duration = Sprites(i - 1).SpriteFrameGroups(i2).SpriteFrames(i3).Duration
        Sprites(i).SpriteFrameGroups(i2).SpriteFrames(i3).FrameName = Sprites(i - 1).SpriteFrameGroups(i2).SpriteFrames(i3).FrameName
        Sprites(i).SpriteFrameGroups(i2).SpriteFrames(i3).picname = Sprites(i - 1).SpriteFrameGroups(i2).SpriteFrames(i3).picname
      Next i3
    Next i2
  Next i
  SpriteMax = SpriteMax + 1
  Call updateSpritelist
Case 46 'delete
  For i = List1.ListIndex To SpriteMax
    Sprites(i).GroupMax = Sprites(i + 1).GroupMax
    Sprites(i).SpriteName = Sprites(i + 1).SpriteName
    For i2 = 1 To Sprites(i + 1).GroupMax
      Sprites(i).SpriteFrameGroups(i2).FrameMax = Sprites(i + 1).SpriteFrameGroups(i2).FrameMax
      Sprites(i).SpriteFrameGroups(i2).GroupRepeats = Sprites(i + 1).SpriteFrameGroups(i2).GroupRepeats
      Sprites(i).SpriteFrameGroups(i2).SpriteGroupName = Sprites(i + 1).SpriteFrameGroups(i2).SpriteGroupName
      For i3 = 1 To Sprites(i + 1).SpriteFrameGroups(i2).FrameMax
        Sprites(i).SpriteFrameGroups(i2).SpriteFrames(i3).Duration = Sprites(i + 1).SpriteFrameGroups(i2).SpriteFrames(i3).Duration
        Sprites(i).SpriteFrameGroups(i2).SpriteFrames(i3).FrameName = Sprites(i + 1).SpriteFrameGroups(i2).SpriteFrames(i3).FrameName
        Sprites(i).SpriteFrameGroups(i2).SpriteFrames(i3).picname = Sprites(i + 1).SpriteFrameGroups(i2).SpriteFrames(i3).picname
      Next i3
    Next i2
  Next i
  SpriteMax = SpriteMax - 1
  List1.ListIndex = List1.ListIndex - 1
  Call updateSpritelist
End Select
End Sub
Private Sub List2_Click()
Call UpdateGroupProperties
List3.ListIndex = 0
If List2.ListIndex <> 0 Then Call UpdateFrameList Else List3.Clear: List3.AddItem "[NewFrame]": List3.ListIndex = 0
End Sub
Private Sub List2_KeyUp(KeyCode As Integer, Shift As Integer)
snum = List1.ListIndex
Select Case KeyCode
Case 45 'insert
  For i = Sprites(snum).GroupMax + 1 To List2.ListIndex + 1 Step -1
    Sprites(snum).SpriteFrameGroups(i).FrameMax = Sprites(snum).SpriteFrameGroups(i - 1).FrameMax
    Sprites(snum).SpriteFrameGroups(i).SpriteGroupName = Sprites(snum).SpriteFrameGroups(i - 1).SpriteGroupName
    For i2 = 1 To Sprites(snum).SpriteFrameGroups(i).FrameMax
      Sprites(snum).SpriteFrameGroups(i).SpriteFrames(i2).Duration = Sprites(snum).SpriteFrameGroups(i - 1).SpriteFrames(i2).Duration
      Sprites(snum).SpriteFrameGroups(i).SpriteFrames(i2).FrameName = Sprites(snum).SpriteFrameGroups(i - 1).SpriteFrames(i2).FrameName
      Sprites(snum).SpriteFrameGroups(i).SpriteFrames(i2).picname = Sprites(snum).SpriteFrameGroups(i - 1).SpriteFrames(i2).picname
      Next i2
  Next i
  Sprites(snum).GroupMax = Sprites(snum).GroupMax + 1
  Call UpdateGroupList
Case 46 'delete
  For i = List2.ListIndex To Sprites(snum).GroupMax
    Sprites(snum).SpriteFrameGroups(i).FrameMax = Sprites(snum).SpriteFrameGroups(i + 1).FrameMax
    Sprites(snum).SpriteFrameGroups(i).GroupRepeats = Sprites(snum).SpriteFrameGroups(i + 1).GroupRepeats
    Sprites(snum).SpriteFrameGroups(i).SpriteGroupName = Sprites(snum).SpriteFrameGroups(i + 1).SpriteGroupName
    For i2 = 1 To Sprites(snum).SpriteFrameGroups(i + 1).FrameMax
      Sprites(snum).SpriteFrameGroups(i).SpriteFrames(i2).Duration = Sprites(snum).SpriteFrameGroups(i + 1).SpriteFrames(i2).Duration
      Sprites(snum).SpriteFrameGroups(i).SpriteFrames(i2).FrameName = Sprites(snum).SpriteFrameGroups(i + 1).SpriteFrames(i2).FrameName
      Sprites(snum).SpriteFrameGroups(i).SpriteFrames(i2).picname = Sprites(snum).SpriteFrameGroups(i + 1).SpriteFrames(i2).picname
    Next i2
  Next i
  Sprites(snum).GroupMax = Sprites(snum).GroupMax - 1
  List2.ListIndex = List2.ListIndex - 1
  Call UpdateGroupList
End Select
End Sub
Private Sub List3_Click()
Call UpdateFrameProperties
End Sub
Private Sub List4_Click()
Sprites(List1.ListIndex).SpriteFrameGroups(List2.ListIndex).SpriteFrames(List3.ListIndex).picname = List4.List(List4.ListIndex)
End Sub

Private Sub List5_Click()
Call UpdatePicProperties
Call LoadLibPic
End Sub

Private Sub List5_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = 46 Then 'delete
  found = False
  For i = 1 To SpriteMax
    For i2 = 1 To Sprites(i).GroupMax
      For i3 = 1 To Sprites(i).SpriteFrameGroups(i2).FrameMax
        If Sprites(i).SpriteFrameGroups(i2).SpriteFrames(i3).picname = List5.List(List5.ListIndex) Then found = True
      Next i3
    Next i2
  Next i
  If found = False Then
    For i = List5.ListIndex To PicMax
      Picz(i).GraphicsLib = Picz(i + 1).GraphicsLib
      Picz(i).Height = Picz(i + 1).Height
      Picz(i).Width = Picz(i + 1).Width
      Picz(i).X = Picz(i + 1).X
      Picz(i).Y = Picz(i + 1).Y
      Picz(i).Masked = Picz(i + 1).Masked
      Picz(i).picname = Picz(i + 1).picname
    Next i
    PicMax = PicMax - 1
    List5.ListIndex = List5.ListIndex - 1
    Call UpdatePicList
    Call updateSpritenamelist
  Else
    Beep
    MsgBox "This Picture is used by a Sprite and cannot be deleted."
  End If
End If
End Sub

Private Sub List6_Click()
Picz(List5.ListIndex).GraphicsLib = List6.List(List6.ListIndex)
Call LoadLibPic
End Sub

Private Sub Picture2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Picz(Form1.List5.ListIndex).X = X
Picz(Form1.List5.ListIndex).Y = Y
Picz(Form1.List5.ListIndex).Width = 0
Picz(Form1.List5.ListIndex).Height = 0
Call UpdatePicProperties
Call redrawpicview

End Sub

Private Sub Picture2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If X < 0 Then X = 0
If Y < 0 Then Y = 0
Form1.XLabel.Caption = "X: " & X
Form1.YLabel.Caption = "Y: " & Y
If Button = 1 Then
  Picz(Form1.List5.ListIndex).Width = X - Picz(Form1.List5.ListIndex).X
  Picz(Form1.List5.ListIndex).Height = Y - Picz(Form1.List5.ListIndex).Y
  Call UpdatePicProperties
  Call redrawpicview
End If
End Sub

Private Sub Picture2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Picz(Form1.List5.ListIndex).Width < 0 Then
  TX = Picz(Form1.List5.ListIndex).X
  tw = Picz(Form1.List5.ListIndex).Width
  Picz(Form1.List5.ListIndex).X = TX + Picz(Form1.List5.ListIndex).Width
  Picz(Form1.List5.ListIndex).Width = (tw + TX) - tw
End If

If Picz(Form1.List5.ListIndex).Height < 0 Then
  Ty = Picz(Form1.List5.ListIndex).Y
  Th = Picz(Form1.List5.ListIndex).Height
  Picz(Form1.List5.ListIndex).Y = Ty + Picz(Form1.List5.ListIndex).Height
  Picz(Form1.List5.ListIndex).Height = (Th + Ty) - Th
End If
Call UpdatePicProperties
End Sub
Private Sub Picture2_Paint()
Call redrawpicview
End Sub
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
If List1.ListIndex = 0 Then
  ttext = Form1.Text1.Text
  SpriteMax = SpriteMax + 1
  Call updateSpritelist
  Call UpdateSpriteProperties
  List1.ListIndex = SpriteMax
  Form1.Text1.Text = ttext
  Form1.Text1.SelStart = Len(Form1.Text1.Text)
End If
Sprites(List1.ListIndex).SpriteName = Text1.Text
Call UpdateSpriteProperties
Call updateSpritelist
End Sub
Private Sub Text2_KeyUp(KeyCode As Integer, Shift As Integer)
snum = List1.ListIndex
If List2.ListIndex = 0 Then
  ttext = Form1.Text2.Text
  Sprites(snum).GroupMax = Sprites(snum).GroupMax + 1
  Call UpdateGroupList
  Call UpdateGroupProperties
  List2.ListIndex = Sprites(snum).GroupMax
  Form1.Text2.Text = ttext
  Form1.Text2.SelStart = Len(Form1.Text2.Text)
End If
Sprites(snum).SpriteFrameGroups(Form1.List2.ListIndex).SpriteGroupName = Text2.Text
Call UpdateGroupProperties
Call UpdateGroupList
End Sub
Private Sub Text3_KeyUp(KeyCode As Integer, Shift As Integer)
snum = List1.ListIndex
gnum = List2.ListIndex
fnum = List3.ListIndex
If List3.ListIndex = 0 Then
  ttext = Form1.Text3.Text
  Sprites(snum).SpriteFrameGroups(gnum).FrameMax = Sprites(snum).SpriteFrameGroups(gnum).FrameMax + 1
  fnum = Sprites(snum).SpriteFrameGroups(gnum).FrameMax
  Call UpdateFrameList
  Call UpdateFrameProperties
  List3.ListIndex = Sprites(snum).SpriteFrameGroups(gnum).FrameMax
  Form1.Text3.Text = ttext
  Form1.Text3.SelStart = Len(Form1.Text3.Text)
End If
Sprites(snum).SpriteFrameGroups(gnum).SpriteFrames(fnum).FrameName = Text3.Text
Call UpdateFrameProperties
Call UpdateFrameList
End Sub
Private Sub Text4_KeyUp(KeyCode As Integer, Shift As Integer)
Sprites(List1.ListIndex).SpriteFrameGroups(List2.ListIndex).SpriteFrames(List3.ListIndex).Duration = Val(Text4.Text)
End Sub

Private Sub Text5_KeyUp(KeyCode As Integer, Shift As Integer)
snum = List5.ListIndex
If List5.ListIndex = 0 Then
  ttext = Form1.Text5.Text
  PicMax = PicMax + 1
  Call UpdatePicList
  Call UpdatePicProperties
  List5.ListIndex = PicMax
  Form1.Text5.Text = ttext
  Form1.Text5.SelStart = Len(Form1.Text5.Text)
  Call LoadLibPic
  Picz(List5.ListIndex).GraphicsLib = List6.List(List6.ListIndex)
End If
Picz(List5.ListIndex).picname = Text5.Text
Call updateSpritenamelist
Call UpdatePicProperties
Call UpdatePicList
End Sub

Private Sub Text6_KeyUp(KeyCode As Integer, Shift As Integer)
Picz(List5.ListIndex).X = Val(Text6.Text)
Call redrawpicview
End Sub

Private Sub Text7_KeyUp(KeyCode As Integer, Shift As Integer)
Picz(List5.ListIndex).Width = Val(Text7.Text)
Call redrawpicview
End Sub

Private Sub Text8_KeyUp(KeyCode As Integer, Shift As Integer)
Picz(List5.ListIndex).Y = Val(Text8.Text)
Call redrawpicview
End Sub

Private Sub Text9_KeyUp(KeyCode As Integer, Shift As Integer)
Picz(List5.ListIndex).Height = Val(Text9.Text)
Call redrawpicview
End Sub

Private Sub VScroll1_Change()
Picture2.Top = -VScroll1.Value
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -