Автор: Влад
Энгельгардт
"Как много игр то хороших, Да только
сегодня не до них" Автор.
Здравствуйте! Сегодня мы создадим первую, и надеюсь не
последнюю игрушку, смысл у нас будет такой: Мы - маленький
космический корабль, нам надо уничтожить большой статичный
космический корабль (прим. автора: "Этот пример научит мыслить
по DelphiX`ски").
Ну что, приступим, запускаем Delphi
. Вы, надеюсь, предварительно установили
DelphiX,
тогда ищем в панели с компонентами раздел DelphiX:
Кидаем на форму следующие компоненты:
DXDraw - и проставляем в нем следующие опции в Object
Inspector: Align = alClient - это нужно для того
чтобы DXDraw "обтянул" всю форму. Display =
800x600x16 - почему, спросите вы, не 800x600x24? Да
потому что не все видеокарты поддерживают 24 битный режим.
Options-doFullScreen = True, если хочешь чтобы
твоя игра была на весь экран, и ещё надо в свойствах формы
поставить: BorderStyle = bsnone.
TDXSpriteEngine - Сам движок для работы со спрайтами. В
нём нужно только выбрать в поле DXDraw сам DXDraw1.
TDXTimer - Он вообще-то и нужен, чтобы обновлять кадры,
но он нам пригодится и для другого. Свойства следующие:
Active Only = False - По-русски: "Быть активным
всегда". Смысл: Работает даже если вы, работаете с другим
приложением. Interval = 0 - Частота повторения
цикла, должна быть равна 0.
TDXImageList - В этом листе будут у нас хранится все
спрайты. Свойства: DXDraw = DXDraw1 После
кликаем на Items: (TPictureCollection), появляется окно
Editing DxImagelist1.Items. В нём кликаем по Add New и в
Object Inspector в поле "Name" пишем название спрайта, назовем
его "pla" - это будет сам игрок, загружаем его с помощью
Picture... Игрок у меня будет вот такой:
Только фон чёрный - для прозрачности. Устанавливаю в Object
Inspector у данной картинки свойства Transparent = true и
TransparentColor = clBlack. Создаём ещё один спрайт под
именем Pula проделываем тоже самое с ним, только
TransparentColor = clWhite. Выглядит пуля вот так:
И последнее что нам осталось, добавить этого босса,
называем его "BOSS", вот он:
TransparentColor = clWhite. На этом с DXImageList мы пока
закончили.
TDXInput - Ну, а этот компонент будет отвечать за
нажатые клавиши на клавиатуре. В нем никакие изменения делать
не будем, только рассмотрим его (на будущее). Кликнем 2 раза
по компоненту, и появится TDXInput Editor, выглядит он вот
так:
Первая закладка устанавливает свойства джойстика, вторая
клавиатуры. Вот закладка со свойствами клавиатуры нам и нужна.
Вот так она выглядит:
Слева - условное название клавиш, а справа - их значение.
Каждому условному названию может быть присвоено 3 клавиши.
Всего условных названий 36 штук.
Ну что, теперь приступаем к написанию кода. Вначале
нужно изменить класс формы на TDXForm вот пример:
До:
|