建议去看看这本书:Visual Basic 游戏编程21天自学通

解决方案 »

  1.   

    '这个移动图片的可能对你有点用
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
        Select Case KeyCode
            Case vbKeyUp
                Picture1.Top = Picture1.Top - 50
            Case vbKeyDown
                Picture1.Top = Picture1.Top + 50
            Case vbKeyLeft
                Picture1.Left = Picture1.Left - 50
            Case vbKeyRight
                Picture1.Left = Picture1.Left + 50
        End Select
    End Sub
      

  2.   

    你说的是想让图片透明吧!放置“透明”的图片 
    在 VB 中,如果你试着把一只有鸟的图片放到背景的一棵树上,你就会发现树会被鸟遮住一个矩形的区域(即鸟的图片矩形)。我们可以通过以下方法使图片上非鸟的其它部分变透明:我们可以利用一个 WinAPI 函数 BitBlt 对图形进行一系列的位操作来达到此目的。进行处理之前,我们需要对鸟的图片进行处理:先复制一份相同的图形,将其应该透明之处(鸟的背景)设置为黑色(设此图为sPic),再将另一图做以下处理:要复制的地方(鸟)设置为黑色,其余地方设置(鸟的背景)为白色(设此图为Mask)。 设树的图形为名dPic。 
    Declare Function BitBlt Lib "gdi32" Alias "BitBlt" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As LongR=BitBlt(dPic.hdc,0,0,sPic.Width,sPic.Height,Mask.hdc,0,0,vbScrCopy) 
    R=BitBlt(dPic.hdc,0,0,sPic.Width,sPic.Height,sPic.hdc,0,0,vbScrInvert) 
      

  3.   

    他们说得够多了, 你可以去看看我编的那个超级玛莉(VB源代码)
    http://3rdapple.51.net/
      

  4.   

    只要你把下面这个程序作出来,自然就知道怎么做了。Type tpUser
      X As Long
      Y As Long
      Move As Byte
    End TypeDim tUSER As tpUser空间移动:  变更tUSER的X,Y坐标。而变更坐标有几个方式。最直接的是在控制事件中使X,Y增减来实现,缺陷是不够平滑,而且玩家要不断按着键,最初步你可以这样实验。
      比较理想的一种是寻的方式的移动,就是给X,Y一个目的坐标Xm,Ym。而玩家让游戏人物移动实际上就是改变了Xm,Ym这个目的坐标。而人物则以它自己的速度向Xm,Ym靠拢。简单的寻的可以用这样的语法来实现:  If N<Nm Then
            N=N+NStep
          ElseIf N>Nm Then
            N=N-NStep
        End If    以上代码存在两个问题:一个是颤动现象,在NStep不为1的情况下发生。因为NStep不是1,N永远不会等于Nm,而这样就使N本身不断“颤动”。另一个情况是在X,Y坐标的NStep为1:1的比例下,行动的路径不是直线,而是个折线。实际运用当中要重新计算NStep的比例。步行状态:  tUSER的Move。每走一步Move+1 Mod StepMax(最多的走步图片的帧数)  一个游戏人物可以实现移动,还可以体现出走步的动作,这就是上面几个要素决定的。  只要你能实现下面的功能,制作会走的人物是很简单的事情。  (1)tUSER的坐标随控制改变。
      (2)每次控制都引起Move的状态改变。  接下来你要做的是界面部分。它需要根据X,Y体现一个人物的位置,而且要能根据Move改变人物的状态。简易的办法只要一个Pictrue控件就可以了。在每次改变的时候将坐标交给控件的Top和Left,然后用一个数组根据Move刷新Pictrue的图片。当然这很初步。