Private Function myAni(image1 As Image)'image1.Picture = LoadPicture(App.Path & "\12.gif")
Call delay(2)
'image1.Picture = LoadPicture("")
image1.Picture = LoadPicture(App.Path & "\15.gif")
Call delay(2)
'image1.Picture = LoadPicture("")
image1.Picture = LoadPicture(App.Path & "\14.gif")
Call delay(2)
'image1.Picture = LoadPicture("")
image1.Picture = LoadPicture(App.Path & "\13.gif")
Call delay(2)
'image1.Picture = LoadPicture("")End Function
Public Sub delay(ss As Integer)Dim oldtime As Single
Dim i As Integer
        oldtime = Timer
        i = 0
        Do
            DoEvents
            If Timer < oldtime Then oldtime = Timer
            If Timer - oldtime > 0.1 Then
                i = i + 1
                oldtime = Timer
            End If
        Loop Until (i >= ss)End SubPublic Function doGif(upDown As Byte, bmp1 As Integer, bmp2 As Integer, bmp3 As Integer, bmp4 As Integer, bmp5 As Integer)
If upDown = 1 Then
    Call gameProcessMod.myAni(gameFrm.img_P(1))
    gameFrm.img_P(1).Picture = LoadPicture(App.Path & "\image\" & CStr(bmp1) & ".bmp")
    Call gameProcessMod.myAni(gameFrm.img_P(2))
    gameFrm.img_P(2).Picture = LoadPicture(App.Path & "\image\" & CStr(bmp2) & ".bmp")
    Call gameProcessMod.myAni(gameFrm.img_P(3))
    gameFrm.img_P(3).Picture = LoadPicture(App.Path & "\image\" & CStr(bmp3) & ".bmp")
    Call gameProcessMod.myAni(gameFrm.img_P(4))
    gameFrm.img_P(4).Picture = LoadPicture(App.Path & "\image\" & CStr(bmp4) & ".bmp")
    Call gameProcessMod.myAni(gameFrm.img_P(5))
    gameFrm.img_P(5).Picture = LoadPicture(App.Path & "\image\" & CStr(bmp5) & ".bmp")
    DoEvents
     
     gameFrm.img_P(6).Picture = LoadPicture(App.Path & "\image\" & "back.gif")
     gameFrm.img_P(7).Picture = LoadPicture(App.Path & "\image\" & "back.gif")
     gameFrm.img_P(8).Picture = LoadPicture(App.Path & "\image\" & "back.gif")
     gameFrm.img_P(9).Picture = LoadPicture(App.Path & "\image\" & "back.gif")
     gameFrm.img_P(10).Picture = LoadPicture(App.Path & "\image\" & "back.gif")
End IfIf upDown = 2 Then
    Call gameProcessMod.myAni(gameFrm.img_P(6))
    gameFrm.img_P(6).Picture = LoadPicture(App.Path & "\image\" & CStr(bmp1) & ".bmp")
    Call gameProcessMod.myAni(gameFrm.img_P(7))
    gameFrm.img_P(7).Picture = LoadPicture(App.Path & "\image\" & CStr(bmp2) & ".bmp")
    Call gameProcessMod.myAni(gameFrm.img_P(8))
    gameFrm.img_P(8).Picture = LoadPicture(App.Path & "\image\" & CStr(bmp3) & ".bmp")
    Call gameProcessMod.myAni(gameFrm.img_P(9))
    gameFrm.img_P(9).Picture = LoadPicture(App.Path & "\image\" & CStr(bmp4) & ".bmp")
    Call gameProcessMod.myAni(gameFrm.img_P(10))
    gameFrm.img_P(10).Picture = LoadPicture(App.Path & "\image\" & CStr(bmp5) & ".bmp")
    DoEvents
End If
End Function

解决方案 »

  1.   

    我也试过,好像因为GIF图片的格式问题吧,反正我用IMAGE来加载GIF图片时就会比较慢.
      

  2.   

    每一步都要从硬盘上加载图片文件,能不慢么?稍微好一点的方法,是事先把所有图片都加载到IMAGE控件数组上,然后轮流设置VISIBLE属性按照顺序显示.更好的方法,是只有一个图片,把动画中的每一祯都铺开在同一图片文件中. 加载到一个PICTURE之类的控件上,然后用PAINTPICTURE或者BITBLE之类的依次将不同部分贴在前台显示的控件上.总之,楼主这个方法是最低效的.