Направете свой собствен HUD

Направете свой собствен HUD

Цялото "рисуване" на HUD (т.е. на екрана на плейъра) се извършва от специален Canvas обект (Engine.Canvas), който също съдържа всички необходими функции за рисуване. Ако вече сте изучавали Java, може би вече сте запознати с понятието Canvas. Веднага отбелязвам, че по същество цялото рисуване се свежда до алгоритъм:

  1. Задайте стила (атрибутите) на чертежа (като цвят или прозрачност).
  2. Посочете началната позиция на обекта, който се рисува на екрана.
  3. Начертайте избраната текстура (буквите на текстовия ред също са текстури).

Ако не знаете как са разположени координатните оси, ето екран за вас:

HUD е отделен клас (Engine.HUD), той дефинира функцията PostRender:

  1. Трябва да направим клас (например MyHUD) наследен от Engine.HUD (или от който и да е от неговите потомци), в който да декларираме функцията PostRender.
  2. Във функцията PostRender, използвайки методите Canvas, нарисувайте това, от което се нуждаем (повече за това по-долу).
  3. Декларирайте нов клас, наследяващ от GameInfo и в чиито свойства по подразбиране напишете ред като: HUDType = Class'MyHUD '

Бележка за мрежата HUD. HUD се показва на клиентската машина, така че трябва да поставите симулираната дума във вашата функция PostRender, разбира се, ако вашият мод не е мултиплейър, не е нужно да пишете симулиран.

И така, нека сега да разгледаме директно класа Canvas и методите за рисуване, налични в него.

Основни свойства (променливи) на класа Canvas

  • шрифт Шрифт - шрифтът, използван за показване на текста, стойността на променливата Шрифт е името на текстурата на шрифта. Например: "LadderFonts.UTLadder20".
  • float OrgX, OrgY - координати на точки (0,0), по подразбиране стойностите на променливите OrgX, OrgY естествено са равни на 0.
  • float ClipX, ClipY - координати на долния десен ъгъл на екрана. Стойностите на тези променливи се променят в зависимост от текущата разделителна способност на екрана, например при 640x480, ClipX = 640, ClipY = 480.
  • float CurX, CurY - текущи координати за изчертаване (например, за да нарисувате текстура от позиция (60,80), стойностите трябва да бъдат CurX = 60, CurY = 80).
  • byte Style - стилът на изчертавания обект (например ефектът на прозрачност), възможни стойности:
    • (0) STY_None е невидим обект, забележете, че обектът всъщност е „нарисуван“, но не се вижда на екрана.
    • (1) STY_Normal - "нормален" стил
    • (2) STY_Masked - нулевият цвят (черен) на изчертаната текстура не се показва (за маскирани текстури).
    • (3) STY_Translucent - ефект на прозрачност (фонът се вижда зад текстурата).
    • (4) STY_Modulated - всеки пиксел от текстурата взема стойността на цвета на съответния пиксел на фона.
  • цвят DrawColor - цветът на обекта, който се рисува, по подразбиране DrawColor = (127,127,127) (сиво). Стойностите на цветовете се посочват чрез RGB стойности, например:

    Имайте предвид, че ако стойността на DrawColor не е равна на бял цвят (255,255,255) при показване на текстури, тогава всички цветове на текстурите се променят.

    float float

Функции с общо предназначение.

    функция SetPos (float X, float Y) - присвоява CurX = X, CurY = Y. Естествено,

са подобни в действие, само първата опция се пише по-бързо:)

  • функция SetOrigin (float X, float Y) - присвоява OrgX = X, OrgY = Y.