回 帖 发 新 帖 刷新版面

主题:[原创]vb driectx7   2D动画

各们这方面的高手    我刚刚接触这方面的工作    想用VB制作2D动画(游戏机动画)  在画面上做一个动画   例如一副图片去背景色从左边移到右边消失 ,希望有两帧.希望高手能提供下原代码.....   
       感激不尽

回复列表 (共3个回复)

沙发

就是移动图片的位置么?
picture.move

板凳

另外添加一个窗体,在窗体上添加一个计时器两个图片框,设置窗体的 Me.BorderStyle = 0,代码如下:

'透明窗体
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
'为指定的窗口设置信息
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
'为窗口指定一个新位置和状态
Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Dim BJ As Boolean, moveInterval As Integer

Private Sub Form_Load()
Picture1.AutoRedraw = True
Picture2.AutoRedraw = True
Picture1.Visible = False
Picture2.Visible = False
Picture1.Picture = LoadPicture("D:\\1.jpg")
Picture2.Picture = LoadPicture("D:\\2.jpg")
Me.BackColor = 0                          '设置窗体背景为黑色
Timer1.Interval = 20                      '每20毫秒更换一次图片,你可根据情况改变数字的大小
SetWindowLong hWnd, -20, &H80000
SetLayeredWindowAttributes hWnd, 0, 0, 1  '将窗体背景黑色设为透明
SetWindowPos hWnd, -1, 0, 0, 0, 0, 3&     '窗体总在最上
Move 0, Screen.Height - 540, Screen.Width '把窗体放到屏幕下方的右外
End Sub

Private Sub Timer1_Timer()
If BJ Then
  Me.PaintPicture Picture2, 0, 0
Else
  Me.PaintPicture Picture1, 0, 0
End If
BJ = Not BJ
DoEvents

moveInterval = moveInterval + 1
If moveInterval = 5 Then                  '每100毫秒移动窗体一次,你可根据情况改变数字的大小
  moveInterval = 0
  If Me.Left > 0 Then
    Me.Left = Me.Left - 150               '每次向左移动150缇,你可根据情况改变数字的大小
  Else
    Me.Left = Screen.Width
  End If
End If
End Sub

3 楼

本人计算机相关专业毕业,熟悉VC,Delphi,VB及各种网页编程对于数据库编程有丰富的经验,擅长socket和windows编程,有三年做毕业设计的经验,主要作品有数控工艺参数查询系统等,有需要的朋友请加Q:383147818 请注明:pfan毕设 
(非诚勿扰,谢谢合作!)
本人计算机相关专业毕业,熟悉VC,Delphi,VB及各种网页编程对于数据库编程有丰富的经验,擅长socket和windows编程,有三年做毕业设计的经验,主要作品有数控工艺参数查询系统等,有需要的朋友请加Q:383147818 请注明:pfan毕设 
(非诚勿扰,谢谢合作!)

我来回复

您尚未登录,请登录后再回复。点此登录或注册