Я раз в 30 милли секунд обращаюсь к
Private Shared Sub Reinder_Timer()
Dim A As String, I1 As Long, Re As RECT, B As Long
Re.Bottom = 1000
Re.Right = 1000
If UP2D.DirectDraw = True Then
For I = 1 To UP2D.NDisp Step 1
UP2D.Display(I).XCam = UpPhiz.Body(I).Dat.Znach(1) - UP2D.Kartinka(I).RECT(0, 0).Right / 2
UP2D.Display(I).YCam = UpPhiz.Body(I).Dat.Znach(2) - UP2D.Kartinka(I).RECT(0, 0).Bottom / 2
Next I
For I = 1 To UpPhiz.NPhB Step 1
A = A + " " + CStr(UpPhiz.Body(I).Active)
Next I
Call UpSo.Zvuchi()
Call UP2D.StartDraw()
For I = 1 To UpGP.Nn Step 1
Call UpGP.See(I)
Call UpSo.Lissen(I)
Next I
For I1 = 1 To UP2D.NDisp Step 1
With UpSo.Ears(UpPhiz.Body(I1).Dat.Znach(13))
For I = 1 To .Ind(0) Step 1
If UpSo.Zvuk(.Ind(I)).Taim = 1 Then
Call UpSo.Play(UpSo.Zvuk(.Ind(I)).Tip)
End If
Next I
End With
With UpGP.Glaza(UpPhiz.Body(I1).Dat.Znach(13))
For I = 1 To .Ind(0) Step 1
B = .Ind(I)
With UpPhiz.Body(B).Dat
Call UP2D.Draw(UpPhiz.Body(B).Tip, I1, CLng(.Znach(1)), CLng(.Znach(2)), UP2D.Pha(.Znach(3)), CLng(.Znach(10)), UpPhiz.Body(B).Phase) 'Risovanie kartinki
End With
Next I
End With
Next I1
Call UP2D.EndDraw()
End If
End Sub