home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / vbpong1a / ball.cls < prev    next >
Encoding:
Visual Basic class definition  |  1999-08-07  |  1.5 KB  |  64 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "ball"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Dim PrivateFrm As ballfrm
  15. Dim x As Long, y As Long
  16. Dim velx As Long, vely As Long
  17.  
  18. Private Sub Class_Initialize()
  19.     Set PrivateFrm = New ballfrm
  20.     PrivateFrm.Show
  21. End Sub
  22.  
  23. Private Sub Class_Terminate()
  24.     Unload PrivateFrm
  25. End Sub
  26.  
  27. Public Sub SetXYVel(nxv As Long, nyv As Long)
  28.     velx = nxv
  29.     vely = nyv
  30. End Sub
  31.  
  32. Public Sub SetXY(nx As Long, ny As Long)
  33.     x = nx
  34.     y = ny
  35. End Sub
  36.  
  37. Public Sub GetXYVel(xv As Long, yv As Long)
  38.     xv = velx
  39.     yv = vely
  40. End Sub
  41.  
  42. Public Sub GetXY(xv As Long, yv As Long)
  43.     xv = x
  44.     yv = y
  45. End Sub
  46.  
  47. Public Sub Move()
  48.     x = x + velx
  49.     y = y + vely
  50.     
  51.     If x < 0 Then x = 0: velx = Not velx
  52.     If x > (GetSystemMetrics(SM_CXSCREEN) - PrivateFrm.ScaleWidth) Then x = (GetSystemMetrics(SM_CXSCREEN) - PrivateFrm.ScaleWidth): velx = Not velx
  53.     If y < 0 Then y = 0: vely = Not vely
  54.     If y > (GetSystemMetrics(SM_CYSCREEN) - PrivateFrm.ScaleHeight) Then y = (GetSystemMetrics(SM_CYSCREEN) - PrivateFrm.ScaleHeight): vely = Not vely
  55. End Sub
  56.  
  57. Public Sub Update()
  58.     SetWindowPos PrivateFrm.hWnd, HWND_TOPMOST, x, y, 0, 0, SWP_NOSIZE
  59. End Sub
  60.  
  61. Public Sub xit()
  62.     Call Class_Terminate
  63. End Sub
  64.