Delphirus - прграммирование на delphi
   Все о delphi Delphirus - прграммирование на delphi
blocks.gif
Навигация
 

Главная
Статьи
Базы данных
Графика
Защита
Интернет
Система
Тексты
Мультимедиа
Файлы
Формы и окна
Другое
Советы
Базы данных
Графика
Интернет
Мультимедиа
Система
Тексты
Файлы
Файлы
Исходники
Компоненты
Инфо
Поиск по сайту
Обратная связь
Самое популярное
Аккаунт
Карта сайта

 
story.gif
Создание Главного Меню в Игре - Часть 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;

Тут код примера
Вот в принципе и всё.

 
Разместил 10/12/2004 от rolcom ( Прочитано: )

  blocks.gif
Связанные ссылки
 

· Больше про Графика и создание игр
· Новость от rolcom


Самая читаемая статья: Графика и создание игр:
Создание игры Пятнашки

 
blocks.gif
Рейтинг статьи
 

Средняя оценка: 0
Ответов: 0

Пожалуйста, проголосуйте за эту статью:

Отлично
Очень хорошо
Хорошо
Нормально
Плохо


 
blocks.gif
опции
 


 Напечатать текущую страницу  Напечатать текущую страницу

 Отправить статью другу  Отправить статью другу

 
 

Page generation 0.037 seconds