Создание Главного Меню в Игре - Часть 1 - Кнопки и ЧекБоксы

Статьи » Графика и игры » Создание Главного Меню в Игре - Часть 1 - Кнопки и ЧекБоксы

Начинать делать игру надо именно с главного меню! К такому выводу я пришел тогда, когда начил вставлять меню в "Наш Крафт" (ныне "В ОСАДЕ"), это было жутко неудобно так как пришлось перестраивать структуры игры!

И

так, злобный Spose выкладывает intf.zip

содержащий описание компонентов(кнопок, листбоксов, чекбоксов, эдитов и тэдэ) для DelphiX. Рассматривать мы их будем в порядке надобности и по мере улучшения Intf (сейчас дорабатывается), на эту тему будут четыре статьи!

Э

тапы использования компонентов в игре: 1.Создание и задание параметров 2.Отрисовка и обработка влияния курсора на них 3.Очистка памяти от компонентов которые уже не нужны.

C

начала нужно подключить Intf к игре так:
 

Uses 

..............., intf; //Подключаем Inf к программе ......................................................................... procedure

TForm1.FormCreate(Sender: TObject); begin

fsurface:=dxdraw.surface; //Это необходимо ......................... end

; ......................................................................... procedure

TForm1.DXTimerTimer(Sender: TObject; LagCount: Integer); begin if not

dxdraw.CanDraw then

exit; fsurface:=dxdraw.Surface; //Это необходимо .......................... end

;

Т

еперь включив intf в свою программу, можно и компоненты посоздавать.

К

омпоненты создаются просто:  

Btn := TDxImageButton.create; //Где Btn - имя кнопки, заданное зарание в поле VAR (у формы)
Cb := TDxImageCheckBox.create; //Где Cb - имя ЧекБокса, заданное зарание в поле VAR (у формы)

Компоненты создаются просто: Вот такие параметры нужно регулировать у кнопок:

x:=288;//Координаты по X
y:=350;//Координаты по Y
image:=il.Items.Find('btn');//Изображение (обязательно нужно чтобы в одной картинке было 2 изображения - ненажатой и нанажатой)
width:=image.Width;//Это просто надо
height:=image.Height;//Тоже надо
caption:='ВЫхОд ТиПА !';//Заголовок ТиПА
OnClick:=onclick1;//Процедура которая будет работать по нажатию на кнопку

У ЧекБоксов аналогично, но нету процедуры OnClick (пока). Отрисовка производится так:

btn.DoDraw; //Где btn имя вашего компонента

И остается только обработка на поведение мыши(cb - ЧекБокс, btn - Кнопка):

procedure 

TForm1.DXDrawMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin

btn.OnMouseDown(x,y); cb.OnMouseDown(x,y); end

; procedure

TForm1.DXDrawMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin

btn.OnMouseMove(x,y); cb.OnMouseMove(x,y); end

; procedure

TForm1.DXDrawMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin

btn.OnMouseUp; cb.OnMouseUp; end

;

Тут код примера

В

от в принципе и всё.

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com