Начинать делать игру надо именно с главного меню! К такому выводу я
пришел тогда, когда начил вставлять меню в "Наш Крафт" (ныне "В ОСАДЕ"), это
было жутко неудобно так как пришлось перестраивать структуры
игры! Итак, злобный 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;
|