Литмир - Электронная Библиотека
Содержание  
A
A

 'никакие объекты в памяти

 s_Player_Bitmap1 = Nothing

 s_Player_Bitmap2 = Nothing

 s_Player_Bitmap3 = Nothing

 s_Player_Bitmap4 = Nothing

 'Избавиться от массива

 s_colPlayerBitmaps = Nothing

End Sub

'-----------------------------------------

'Функция: возвращает коллекцию изображений

'-----------------------------------------

Public Shared Function g_PlayerBitmapsCollection() _

 As System.Collections.ArrayList

 '---------------------------------------------------------------

 'Если изображения уже загружены, их достаточно только возвратить

 '---------------------------------------------------------------

 If Not (s_colPlayerBitmaps Is Nothing) Then

  Return scolPlayerBitmaps

 End If

 'Загрузить изображения как ресурсы из исполняемого двоичного файла

 Dim thisAssemblyAs System.Reflection.Assembly = _

  System.Reflection.Assembly.GetExecutingAssembly()

 Dim thisAssemblyNameAs System.Reflection.AssemblyName = _

  thisAssembly.GetName()

 Dim assemblyNameAs String = thisAssemblyName.Name

 'Загрузить изображения

 s_Player_Bitmap1 =New System.Drawing.Bitmap( _

  thisAssembly.GetManifestResourceStream(assemblyName _

  + ".Hank_RightRun1.bmp"))

 s_Player_Bitmap2 = New System.Drawing.Bitmap( _

  thisAssembly.GetManifestResourceStream(assemblyName _

  + ".Hank_RightRun2.bmp"))

 s_Player_Bitmap3 = New System.Drawing.Bitmap( _

  thisAssembly.GetManifestResourceStream(assemblyName _

  + ".Hank_LeftRun1.bmp"))

 s_Player_Bitmap4 = New System.Drawing.Bitmap( _

  thisAssembly.GetManifestResourceStream(assemblyName _

  + ".Hank_LeftRun2.bmp"))

 'Добавить изображения в коллекцию

 s_colPlayerBitmaps = New System.Collections.ArrayList

 s_colPlayerBitmaps.Add(s_Player_Bitmap1)

 s_colPlayerBitmaps.Add(s_Player_Bitmap2)

 s_colPlayerBitmaps.Add(s_Player_Bitmap3)

 s_colPlayerBitmaps.Add(s_Player_Bitmap4)

 'Возвратить коллекцию

 Return s_colPlayerBitmaps

End Function

Private Shared s_blackPen As System.Drawing.Pen

Private Shared s_whitePen As System.Drawing.Pen

Private Shared s_ImageAttribute As _

 System.Drawing.Imaging.ImageAttributes

Private Shared s_boldFont As System.Drawing.Font

'------------------------------------------------

'Вызывается для освобождения от любых графических

'ресурсов, которые могли быть кэшированы

'------------------------------------------------

Private Shared Sub g_CleanUpDrawingResources()

 'Освободить память от черного пера, если таковое имеется

 If Not (s_blackPenIs Nothing) Then

  s_blackPen.Dispose()

  s_blackPen = Nothing

 End If

 'Освободить память от белого пера, если таковое имеется

 If Not (s_whitePenIs Nothing) Then

  s_whitePen.Dispose()

  s_whitePen = Nothing

 End If

 'Освободить память от атрибута ImageAttribute, если таковой имеется.

 'Примечание. Метод Dispose() для этого типа не предусмотрен,

 'поскольку все его данные являются управляемыми

 If Not (s_ImageAttribute Is Nothing) Then

  s_ImageAttribute = Nothing

 End If

 'Освободить память от полужирного шрифта, если таковой имеется

 If Not (s_boldFontIs Nothing) Then

  b_boldFont.Dispose()

  s_boldFont = Nothing

 End If

End Sub

'-----------------------------------------

'Эта функция позволяет получить доступ

'к черному перу, находящемуся в кэш-памяти

'-----------------------------------------

Private Shared Function g_GetBlackPen() As System.Drawing.Pen

 'Если перо еще не существует, создать его

 If (s_blackPen Is Nothing) Then

  s_blackPen = New System.Drawing.Pen( _

225
{"b":"947732","o":1}