Перейти к содержанию
Опубликовано
comment_158

Продолжаем урок: http://fanhack.ru/index.php/topic/75-sozdanie-meniuosnova-%E2%84%961/

 

Приукрасим наш фон для меню.

 

1. Добавим функцию для рисования рамки

2. Добавим рамку

3. Добавим текст

4. Отредактируем размер текста

 

Добавим функцию:

void D3DMenu::DrawBorder(float x, float y, float w, float h, float with, D3DCOLOR Color)
{
DrawLine(x, y+1, x + w, y+1, with, Color);//Верхняя линия
DrawLine(x, y + h, x, y, with, Color);//Левая линия
DrawLine(x, y + h, x + w, y + h, with, Color);//Нижняя
DrawLine(x + w, y, x + w, y + h, with, Color);//Правая
}

И пропишем прототип в класс:

void DrawBorder(float x, float y, float w, float h, float with, D3DCOLOR Color);// отрисовка рамки

 

dYHB-HFDTuaJND1HVY4jzg.png

 

 

Нарисуем рамку вокруг нашего бокса:

DrawBorder(X, Y, W, H, 1, BLUE);// Цифра 1 это толщина рамки. Как видим координаты указываем нашего бокса

 

TGyMQSsfTcqgtKifixidcQ.png

 

 

Добавим еще один бокс поверх нашего для красоты:

DrawBox(X, Y, W, 20, BLUE);// Цвет синий так же как у рамки

Ну и добавим заголовок (текст):

DrawText(X + (W/2),Y+5,WHITE,"Menu D3D9 FanHack.ru",DT_CENTER);
DT_CENTER - Это положение текста по центру. Есть DT_LEFT, DT_RIGHT лева права. Координаты берем из бокса Y - прибавляем 5 пикселей чтоб текст был ровней по новому синему боксу. А Х прибавляем W(Ширина) и делим на 2 чтобы получить центр бокса.

В данный момент в нашем исходнике слишком большой текст давайте поменяем размер текста:

Функция выше где создается текст.
void D3DMenu::CreateFont(LPDIRECT3DDEVICE9 pDevice)
{
if (d3ddev == NULL)d3ddev = pDevice;
if (pFont == NULL)D3DXCreateFontA(d3ddev, 26, 0, FW_LIGHT, 0, FALSE, DEFAULT_CHARSET, OUT_TT_ONLY_PRECIS, PROOF_QUALITY, DEFAULT_PITCH | FF_DONTCARE, TEXT("Tohoma"), &pFont);
if (pLine == NULL)D3DXCreateLine(d3ddev, &pLine);
}

Смотрим на функцию D3DXCreateFontA. Где указано 26 - это размер текста, я посмотрел и по мне 15 размер подходит. Меняем 26 на 15 текст при отрисовке будет меньше чем сейчас. Так же где написано "Tohoma" - это имя шрифта, можно писать свой например "Arial" 

 

 

XwEuRohlTZi-9G4r91LrSQ.png

 

 

Компилируем и смотрим:

 

S6nA-67-TIaJaUjhd5iAdw.png

 

 

В DrawMenu:

 

l2EhdeHlRNi4jH2RONHu-Q.png

 

 

 

Тут хватит. Потом наверно начнем с кнопок

Рекомендуемые сообщения

Нет сообщений для отображения
Гость
Эта тема закрыта для публикации ответов.