Jak poprawnie zaimplementować Bary z LeGo 4233 1

O temacie

Autor Bogdan Zwei

Zaczęty 23.06.2016 roku

Wyświetleń 4233

Odpowiedzi 1

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Opiszę tutaj jak poprawnie robić paski w Gothic. Dużo osób kompletnie nie wie, jak to działa, więc opiszę to.

Najpierw tworzymy instancję naszego paska:

instance StaminaBar(GothicBar) {
    x = 720;
    y = 880;
    backTex = "Bar_Back.tga";
    barTex = "Bar_Misc.tga";
};

X to pozycja X liczona w pikselach.
Y to pozycja Y liczona w pikselach.
backTex to podstawka naszego paska, czyli to, co widać jak nasz pasek ma wartość 0/x.
barTex to nasze wypełnienie paska.
backTex i barTex to tekstury, jak widać.

Teraz potrzebujemy zrobić zmienną, która będzie zapisywała nasz pasek:
var int StamBar;
Przechodzimy teraz do samego paska:

func void StaminaBarLoop() {
    if(!Hlp_IsValidHandle(StamBar)) {
        StamBar = Bar_Create(StaminaBar);
    };
    Bar_Hide (StamBar);
};

Hlp_IsValidHandle(StamBar) sprawdza, czy nasza zmienna paska jest wypełniona.
StamBar = Bar_Create(StaminaBar) tworzy i przypisuje nasz pasek do zmiennej StamBar.

Teraz musimy wypełnić nasz pasek jakąś wartością:
tworzymy zmienną, która będzie zawierała wartość naszego aktualnego i maksymalnego zmęczenia (staminy):

var int StaminaVariable;
var int StaminsMax;
Zmienne te wypełniamy w odzielnym skrypcie.

Teraz potrzebujemy wypełniać tymi zmiennymi nasz pasek:

Bar_SetValue (StamBar, StaminaVariable);
Bar_SetMax (StamBar, StaminaMax);

Bar_SetValue wypełnia nasz pasek (StamBar) naszą zmienną. Jest to wartość, która określa naszą aktualną wartość paska.
Bar_SetMax wypełnia nasz pasek (StamBar) naszą drugą zmienną. Jest to wartość maksymalna paska.
SetMax i Value najlepiej wywoływać co klatkę, żeby się ładnie aktualizowały.

Teraz chowanie i pokazywanie paska:

Bar_Hide (StamBar) chowa nasz pasek.
Bar_Show (StamBar) pokazuje nasz pasek (na ekranie).

Te dwie funkcje wywołujemy wtedy, kiedy chcemy włączyć/wyłączyć nasz pasek.

Edit:
Na sam koniec dodajemy zaraz po inicjacji LeGo oraz Ikarusa:
StaminaBarLoop();
Zabraniam kopiowania, tutorial powstał tylko dla tego forum.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Dodaje takie cuś:
Print_Screen[PS_X]
Print_Screen[PS_Y]
Takie piękne cuś pobiera nam rozdzielczość monitora i zapisuje je do liczb
W moim wypadku-
Print_Screen[PS_Y]-Na full HD wynosi 1080
Zaś
Print_Screen[PS_Y]-Na 1440x900 wynosi 900
Bardzo dobre przy liczeniu na pixelach...
Tylko nie polecam dawać czegoś takiego :
Print_Screen[PS_Y]-900 bo gdy rozdzielczość(Y lub x ) będzie mniejsza od liczby po - to nic nie będzie widać...
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry