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

📄 form1.frm

📁 VB6+DX7开发即时战略游戏(游戏代码+编辑器)
💻 FRM
📖 第 1 页 / 共 5 页
字号:
        .Top = SpriteTileSize
        .Bottom = SpriteTileSize * 2 - 1
        
        If MousePos.X >= DisplayWidth / 2 Then
            If Ma_Date.GunTowerCurSin >= -1 And Ma_Date.GunTowerCurSin < -0.981 Then
            .Left = SpriteTileSize * i
            .Right = SpriteTileSize * (i + 1)
            End If
            i = i + 1
            
            If Ma_Date.GunTowerCurSin >= -0.981 And Ma_Date.GunTowerCurSin < -0.831 Then
            .Left = SpriteTileSize * i
            .Right = SpriteTileSize * (i + 1)
            End If
            i = i + 1
            
            If Ma_Date.GunTowerCurSin >= -0.831 And Ma_Date.GunTowerCurSin < -0.556 Then
            .Left = SpriteTileSize * i
            .Right = SpriteTileSize * (i + 1)
            End If
            i = i + 1
            
            If Ma_Date.GunTowerCurSin >= -0.556 And Ma_Date.GunTowerCurSin < -0.195 Then
            .Left = SpriteTileSize * i
            .Right = SpriteTileSize * (i + 1)
            End If
            i = i + 1
            
            If Ma_Date.GunTowerCurSin >= -0.195 And Ma_Date.GunTowerCurSin < 0.195 Then
            .Left = SpriteTileSize * i
            .Right = SpriteTileSize * (i + 1)
            End If
            i = i + 1
            
            If Ma_Date.GunTowerCurSin >= 0.195 And Ma_Date.GunTowerCurSin < 0.556 Then
            .Left = SpriteTileSize * i
            .Right = SpriteTileSize * (i + 1)
            End If
            i = i + 1
            
            If Ma_Date.GunTowerCurSin >= 0.556 And Ma_Date.GunTowerCurSin < 0.831 Then
            .Left = SpriteTileSize * i
            .Right = SpriteTileSize * (i + 1)
            End If
            i = i + 1
            
            If Ma_Date.GunTowerCurSin >= 0.831 And Ma_Date.GunTowerCurSin < 0.981 Then
            .Left = SpriteTileSize * i
            .Right = SpriteTileSize * (i + 1)
            End If
            i = i + 1
            
            If Ma_Date.GunTowerCurSin >= 0.981 And Ma_Date.GunTowerCurSin <= 1 Then
            .Left = SpriteTileSize * i
            .Right = SpriteTileSize * (i + 1)
            End If
                       
        Else
            i = 8
                
            If Ma_Date.GunTowerCurSin >= 0.981 And Ma_Date.GunTowerCurSin < 1 Then
            .Left = SpriteTileSize * i
            .Right = SpriteTileSize * (i + 1)
            End If
            i = i + 1
            
            If Ma_Date.GunTowerCurSin >= 0.831 And Ma_Date.GunTowerCurSin < 0.981 Then
            .Left = SpriteTileSize * i
            .Right = SpriteTileSize * (i + 1)
            End If
            i = i + 1
            
            If Ma_Date.GunTowerCurSin >= 0.556 And Ma_Date.GunTowerCurSin < 0.831 Then
            .Left = SpriteTileSize * i
            .Right = SpriteTileSize * (i + 1)
            End If
            i = i + 1
            
            If Ma_Date.GunTowerCurSin >= 0.195 And Ma_Date.GunTowerCurSin < 0.556 Then
            .Left = SpriteTileSize * i
            .Right = SpriteTileSize * (i + 1)
            End If
            i = i + 1
            
            If Ma_Date.GunTowerCurSin >= -0.195 And Ma_Date.GunTowerCurSin < 0.195 Then
            .Left = SpriteTileSize * i
            .Right = SpriteTileSize * (i + 1)
            End If
            i = i + 1
            
            If Ma_Date.GunTowerCurSin >= -0.556 And Ma_Date.GunTowerCurSin < -0.195 Then
            .Left = SpriteTileSize * i
            .Right = SpriteTileSize * (i + 1)
            End If
            i = i + 1
            
            If Ma_Date.GunTowerCurSin >= -0.831 And Ma_Date.GunTowerCurSin < -0.556 Then
            .Left = SpriteTileSize * i
            .Right = SpriteTileSize * (i + 1)
            End If
            i = i + 1
            
            If Ma_Date.GunTowerCurSin >= -0.981 And Ma_Date.GunTowerCurSin < -0.831 Then
            .Left = SpriteTileSize * i
            .Right = SpriteTileSize * (i + 1)
            End If
            i = 0
            
            If Ma_Date.GunTowerCurSin > -1 And Ma_Date.GunTowerCurSin < -0.981 Then
            .Left = SpriteTileSize * i
            .Right = SpriteTileSize * (i + 1)
            End If
                               
        End If
        
        Call BackbufferSurface.Blt(destRect, Ma, srcRect, DDBLT_WAIT Or DDBLT_KEYSRC)

    End With
    
End If

End Sub
Sub PaintEnemy1()
Dim destRect As RECT
Dim srcRect As RECT
Dim i As Integer
Dim j As Integer


For j = 0 To 49
    i = 0
    DoEvents
    If Enemy1_Date(j).Hp > 0 Then
        If Abs(Enemy1_Date(j).CurPosX - Ma_Date.CurPosX) <= (DisplayWidth / 2 + BackgroundTile_Width / 2) And Abs(Enemy1_Date(j).CurPosY - Ma_Date.CurPosY) <= (DisplayHeight / 2 + BackgroundTile_Height / 2) Then
                            
                With destRect
                    .Left = Enemy1_Date(j).CurPosX - Ma_Date.CurPosX + DisplayWidth / 2 + BackgroundTile_Width - SpriteTileSize / 2
                    .Right = Enemy1_Date(j).CurPosX - Ma_Date.CurPosX + DisplayWidth / 2 + BackgroundTile_Width + SpriteTileSize / 2
                    .Top = -(Enemy1_Date(j).CurPosY - Ma_Date.CurPosY) + DisplayHeight / 2 + BackgroundTile_Height - SpriteTileSize / 2
                    .Bottom = -(Enemy1_Date(j).CurPosY - Ma_Date.CurPosY) + DisplayHeight / 2 + BackgroundTile_Height + SpriteTileSize / 2
                End With
                
                With srcRect         '根据角度计算该调用哪个图形
                    .Top = 0
                    .Bottom = SpriteTileSize - 1
                    
                    If Enemy1_Date(j).FangXiang >= 270 And Enemy1_Date(j).FangXiang < 281.25 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                    End If
                    
                    i = i + 1
                
                    If Enemy1_Date(j).FangXiang >= 281.25 And Enemy1_Date(j).FangXiang < 303.75 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                    End If
                
                    i = i + 1
                
                    If Enemy1_Date(j).FangXiang >= 303.75 And Enemy1_Date(j).FangXiang < 326.25 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                    End If
                    
                    i = i + 1
                    
                    If Enemy1_Date(j).FangXiang >= 326.25 And Enemy1_Date(j).FangXiang < 348.75 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                    End If
                    
                    i = i + 1
                    
                    If Enemy1_Date(j).FangXiang >= 348.75 And Enemy1_Date(j).FangXiang < 360 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                    End If
                            
                    If Enemy1_Date(j).FangXiang >= 0 And Enemy1_Date(j).FangXiang < 11.25 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                    End If
                    
                    i = i + 1
                    
                    If Enemy1_Date(j).FangXiang >= 11.25 And Enemy1_Date(j).FangXiang < 33.75 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                    End If
                    
                    i = i + 1
                    
                    If Enemy1_Date(j).FangXiang >= 33.75 And Enemy1_Date(j).FangXiang < 56.25 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                    End If
                    
                    i = i + 1
                    
                    If Enemy1_Date(j).FangXiang >= 56.25 And Enemy1_Date(j).FangXiang < 78.75 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                    End If
                    
                    i = i + 1
                    
                    If Enemy1_Date(j).FangXiang >= 78.75 And Enemy1_Date(j).FangXiang < 101.25 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                    End If
                    
                    i = i + 1
                    
                    If Enemy1_Date(j).FangXiang >= 101.25 And Enemy1_Date(j).FangXiang < 123.75 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                    End If
                    
                    i = i + 1
                    
                    If Enemy1_Date(j).FangXiang >= 123.75 And Enemy1_Date(j).FangXiang < 146.25 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                    End If
                    
                    i = i + 1
                    
                    If Enemy1_Date(j).FangXiang >= 146.25 And Enemy1_Date(j).FangXiang < 168.75 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                    End If
                    
                    i = i + 1
                    
                    If Enemy1_Date(j).FangXiang >= 168.75 And Enemy1_Date(j).FangXiang < 191.25 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                    End If
                    
                    i = i + 1
                    
                    If Enemy1_Date(j).FangXiang >= 191.25 And Enemy1_Date(j).FangXiang < 213.75 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                    End If
                    
                    i = i + 1
                    
                    If Enemy1_Date(j).FangXiang >= 213.75 And Enemy1_Date(j).FangXiang < 236.25 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                    End If
                    
                    i = i + 1
                    
                    If Enemy1_Date(j).FangXiang >= 236.25 And Enemy1_Date(j).FangXiang < 258.75 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                    End If
                    
                    i = 0
                    
                    If Enemy1_Date(j).FangXiang >= 258.75 And Enemy1_Date(j).FangXiang < 270 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                    End If
                            
                End With
            
                Call BackbufferSurface.Blt(destRect, Ma, srcRect, DDBLT_WAIT Or DDBLT_KEYSRC)
                
                
                With srcRect
                    .Top = SpriteTileSize
                    .Bottom = SpriteTileSize * 2 - 1
                    
                    If Ma_Date.CurPosX >= Enemy1_Date(j).CurPosX Then
                        If Enemy1_Date(j).GunTowerCurSin >= -1 And Enemy1_Date(j).GunTowerCurSin < -0.981 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                        End If
                        i = i + 1
                        
                        If Enemy1_Date(j).GunTowerCurSin >= -0.981 And Enemy1_Date(j).GunTowerCurSin < -0.831 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                        End If
                        i = i + 1
                        
                        If Enemy1_Date(j).GunTowerCurSin >= -0.831 And Enemy1_Date(j).GunTowerCurSin < -0.556 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                        End If
                        i = i + 1
                        
                        If Enemy1_Date(j).GunTowerCurSin >= -0.556 And Enemy1_Date(j).GunTowerCurSin < -0.195 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                        End If
                        i = i + 1
                        
                        If Enemy1_Date(j).GunTowerCurSin >= -0.195 And Enemy1_Date(j).GunTowerCurSin < 0.195 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                        End If
                        i = i + 1
                        
                        If Enemy1_Date(j).GunTowerCurSin >= 0.195 And Enemy1_Date(j).GunTowerCurSin < 0.556 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                        End If
                        i = i + 1
                        
                        If Enemy1_Date(j).GunTowerCurSin >= 0.556 And Enemy1_Date(j).GunTowerCurSin < 0.831 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                        End If
                        i = i + 1
                        
                        If Enemy1_Date(j).GunTowerCurSin >= 0.831 And Enemy1_Date(j).GunTowerCurSin < 0.981 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                        End If
                        i = i + 1
                        
                        If Enemy1_Date(j).GunTowerCurSin >= 0.981 And Enemy1_Date(j).GunTowerCurSin <= 1 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                        End If
                                   
                    Else
                        i = 8
                            
                        If Enemy1_Date(j).GunTowerCurSin >= 0.981 And Enemy1_Date(j).GunTowerCurSin < 1 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                        End If
                        i = i + 1
                        
                        If Enemy1_Date(j).GunTowerCurSin >= 0.831 And Enemy1_Date(j).GunTowerCurSin < 0.981 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                        End If
                        i = i + 1
                        
                        If Enemy1_Date(j).GunTowerCurSin >= 0.556 And Enemy1_Date(j).GunTowerCurSin < 0.831 Then
                        .Left = SpriteTileSize * i
                        .Right = SpriteTileSize * (i + 1)
                        End If
                        i = i + 1
                        

⌨️ 快捷键说明

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