Чтение онлайн

ЖАНРЫ

Программирование мобильных устройств на платформе .NET Compact Framework
Шрифт:

Public Shared g_blackPen As Pen

Public Shared g_whitePen As Pen

Public Shared g_ImageAttribute As Imaging.ImageAttributes

Private Shared s_alreadyInitialized As Boolean

Public Shared g_boldFont As Font

Public Shared g_smallTextFont As Font

Public Shared g_greenBrush As Brush

Public Shared g_yellowBrush As Brush

Public Shared g_redBrush As Brush

Public Shared g_blackBrush As Brush

'==============================================================

'Эта функция должна быть вызвана до попыток доступа к любому из

'вышеперечисленных глобальных объектов

'==============================================================

Public Shared Sub InitializeGlobals

If (s_alreadyInitialized = True) Then Return

g_blackPen = New Systera.Drawing.Pen(Color.Black)

g_whitePen = New System.Drawing.Pen(Color.White)

g_ImageAttribute = New _

System.Drawing.Imaging.ImageAttributes

g_ImageAttribute.SetColorKey(Color.White, Color.White)

g_boldFont = New Font(FontFamily.GenericSerif, _

10, FontStyle.Bold)

g_smallTextFont = New Font(FontFamily.GenericSansSerif, _

8, FontStyle.Regular)

g_blackBrush = New SolidBrush(System.Drawing.Color.Black)

g_greenBrush = New SolidBrush(System.Drawing.Color.LightGreen)

g_yellowBrush = New SolidBrush(System.Drawing.Color.Yellow)

g_redBrush = New SolidBrush(System.Drawing.Color.Red)

s_alreadyInitialized = True

End Sub

'====================================================

'Подход 3: Возвратить массив связанных ресурсов.

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

' запросах не загружались (напрасно) их дубликаты

'====================================================

Private Shared m_CaveMan_Bitmap1 As Bitmap

Private Shared m_CaveMan_Bitmap2 As Bitmap

Private Shared m_CaveMan_Bitmap3 As Bitmap

Private Shared m_CaveMan_Bitmap4 As Bitmap

Private Shared m_colCaveManBitmaps As _

System.Collections.ArrayList

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

'Создать и загрузить массив изображений для спрайта

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

Public Shared Function g_CaveManPictureCollection As _

System.Collections.ArrayList

'Изображения загружаются лишь в том случае, если мы их еще не загрузили

If (m_CaveManBitmap1 Is Nothing) Then

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

'Загрузить изображения. Эти изображения хранятся в виде

'встроенных ресурсов в нашем двоичном приложении

'

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

'образом, но выполнить ее проще (нам достаточно лишь указать

'имя файла в конструкторе растровых изображений).

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

'Получить ссылку на нашу двоичную сборку

dim thisAssembly as System.Reflection.Assembly = _

System.Reflection.Assembly.GetExecutingAssembly

'Получить имя сборки

Dim thisAssemblyName As System.Reflection.AssemblyName = _

thisAssembly.GetName

Dim assemblyName As String = thisAssemblyName.Name

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

m_CaveMan_Bitmap1 = New System.Drawing.Bitmap( _

thisAssembly.GetManifestResourceStream( _

assemblyName + ".Hank_RightRun1.bmp"))

m_CaveMan_Bitmap2 = New System.Drawing.Bitmap( _

thisAssembly.GetManifestResourceStream( _

assemblyName + ".Hank_RightRun2.bmp"))

m_CaveMan_Bitmap3 = New System.Drawing.Bitmap( _

thisAssembly.GetManifestResourceStream( _

assemblyName + ".Hank_LeftRunl.bmp"))

m_CaveMan_Bitmap4 = New System.Drawing.Bitmap( _

thisAssembly.GetManifestResourceStream( _

assemblyName + ".Hank_LeftRun2.bmp"))

'Добавить их в коллекцию

m_colCaveManBitmaps = New System.Collections.ArrayList

m_colCaveManBitmaps.Add(m_CaveMan_Bitmap1)

m_colCaveManBitmaps.Add(m_CaveMan_Bitmap2)

m_colCaveManBitmaps.Add(m_CaveMan_Bitmap3)

m_colCaveManBitmaps.Add(m_CaveMan_Bitmap4)

End If

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

Return m_colCaveManBitmaps

End Function

Поделиться с друзьями: