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

на главную - закладки

Жанры

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

Салмре Иво

Шрифт:

'Подход 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

End Class

Примеры к главе 13 (проектирование пользовательского интерфейса)

Листинг 13.1. Использование конечного автомата для экспериментов с двумя различными вариантами компоновки пользовательского интерфейса

#Const PLAYFIELD_ON_BOTTOM = 0 'Отобразить ПОЛЕ ИГРЫ под ПИ

'#Const PLAYFIELD_ON_BOTTOM = 1 'Отобразить ПОЛЕ ИГРЫ над ПИ

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

'ОБРАБОТЧИК СОБЫТИЙ: Вызывается при загрузке формы

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

Private Sub Form1_Load(ByVal sender As System.Object, _

 ByVal e As System.EventArgs) Handles MyBase.Load

 'Задать совместно используемые свойства нашего визуального интерфейса

 SetStartControlPositionAndState

 'Задать динамические свойства, исходя из того, в какое состояние

 'игры мы входим

 StateChangeForGameUI(GameUIState.startScreen)

End Sub

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

'Конечный автомат, который управляет отображением кнопок, скрываемых вручную

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

Private Enum GameUIState

 startScreen = 1

 waitForNextQuestion = 2

 waitForUserToStateKnowledge = 4

 waitForUserToAnswerMultipleChoice = 8

Поделиться:
Популярные книги

Я снова князь. Книга XXIII

Дрейк Сириус
23. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я снова князь. Книга XXIII

Наследие Маозари 7

Панежин Евгений
7. Наследие Маозари
Фантастика:
боевая фантастика
юмористическое фэнтези
постапокалипсис
рпг
фэнтези
эпическая фантастика
5.00
рейтинг книги
Наследие Маозари 7

Эволюционер из трущоб. Том 5

Панарин Антон
5. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 5

Вернувшийся: Новая жизнь. Том I

Vector
1. Вернувшийся
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Вернувшийся: Новая жизнь. Том I

Французская новелла XX века. 1900–1939

Пруст Марсель
Проза:
классическая проза
6.25
рейтинг книги
Французская новелла XX века. 1900–1939

Менталист. Эмансипация

Еслер Андрей
1. Выиграть у времени
Фантастика:
альтернативная история
7.52
рейтинг книги
Менталист. Эмансипация

Я уже царь. Книга XXIX

Дрейк Сириус
29. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я уже царь. Книга XXIX

Травница Его Драконейшества

Рель Кейлет
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Травница Его Драконейшества

Я до сих пор князь. Книга XXII

Дрейк Сириус
22. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я до сих пор князь. Книга XXII

Вернуть невесту. Ловушка для попаданки 2

Ардова Алиса
2. Вернуть невесту
Любовные романы:
любовно-фантастические романы
7.88
рейтинг книги
Вернуть невесту. Ловушка для попаданки 2

Лабиринт Сумерек

Клименко Анна Борисовна
2. Квадрат мироздания
Фантастика:
фэнтези
6.00
рейтинг книги
Лабиринт Сумерек

Кодекс Охотника. Книга XV

Винокуров Юрий
15. Кодекс Охотника
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XV

Иной. Том 1. Школа на краю пустыни

Amazerak
1. Иной в голове
Фантастика:
боевая фантастика
рпг
аниме
5.75
рейтинг книги
Иной. Том 1. Школа на краю пустыни

Цикл романов "Целитель". Компиляция. Книги 1-17

Большаков Валерий Петрович
Целитель
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Цикл романов Целитель. Компиляция. Книги 1-17