ПОНЯТНО О Visual Basic NET (том 3)


Создаем ловца – первая ступень проекта - часть 2


End Sub

Модуль класса clsЛовец:

Public Class clsЛовец

    Private x As Integer                                         'Координаты ловца на форме

    Private y As Integer

 

    Public Sub New()

        Форма.pictЛовец.Width = Размер_ловца

        Форма.pictЛовец.Height = Размер_ловца

    End Sub

    Public Sub Начальная_установка()                  'Ловец встает в исходную позицию и останавливается

       'Он отстоит по горизонтали на четверть ширины поля от левого его края:

       x = Форма.Поле.Left + Форма.Поле.Width * 1 / 4

        y = Форма.Поле.Top + Форма.Поле.Height / 2       'Он по вертикали расположен посредине поля

        Ставим_изображение_ловца_на_место()

    End Sub

    Private Sub Ставим_изображение_ловца_на_место()

        Форма.pictЛовец.Left = x

        Форма.pictЛовец.Top = y

    End Sub

End Class

Запустите проект. Проверьте, правильно ли ловец встает на свое место на поле и обнуляется ли счетчик времени.

А теперь пояснения.

В стандартном модуле я объявил форму и ловца, а также задал размер ловца.

Первой процедурой при запуске проекта выполняется процедура Form1_Load. Начинается она с того, что выполняется оператор

        Форма = Me

благодаря которому к форме можно будет обращаться по имени Форма (см. 21.2).

Затем из класса  clsЛовец создается объект Ловец. При этом выполняется процедура New в модуле класса. В ней высота и ширина элемента управления pictЛовец становятся равными константе Размер_ловца. Ловца я создал в форме (попозже), а не при объявлении в стандартном модуле (пораньше), так как иначе не было доступа к pictЛовец.

Затем в коде формы запускается процедура Начальная_установка, которая выделена в отдельную процедуру потому, что выполняется не только при загрузке формы, но и при щелчке по кнопке «Начинай сначала». Ее дело – привести в исходное положение счетчик времени, шары и ловца. Поскольку шаров пока нет, обойдемся ловцом. Но согласно принципу инкапсуляции ловец сам должен себя устанавливать в исходное положение, поэтому из процедуры Начальная_установка формы запускается процедура Начальная_установка ловца. В ней ловец сначала вычисляет свои исходные координаты на форме так, чтобы по высоте находиться где-то посередине поля, а по горизонтали отстоять от левого края поля на четверть его ширины.

Затем вызывается процедура Ставим_изображение_ловца_на_место, которая перемещает изображение ловца на форме в вычисленное место. Возможно, у вас вызовут трудность формулы, встречающиеся в коде. Не поленитесь разобраться в них. Например, Форма.Поле.Left означает горизонтальную координату левого края элемента управления Поле на форме Форма. Как видите, объект Ловец использует для своей работы доступную информацию о внешнем мире.

Разговор о глобальном и локальном отложим на потом, когда в нашем проекте прибавится содержания.




Начало  Назад  Вперед