Skocz do zawartości

Pasek wytrzymałości w biegu


MeloPL

Rekomendowane odpowiedzi

Witam, tym razem mam problem z wykonaniem paska, który pokazuje, ile hero ma sił, by biegać.

Bieganie odbywa się, gdy bieg=true. Sam skrypt na bieganie jest już napisany, teraz chodzi tylko o wytrzymałość.

Proszę radę, gotowy skrypt, lub jakąkolwiek pomoc. :thumbsup:

Odnośnik do komentarza
Udostępnij na innych stronach

GML
//create

wtc=100 //np.

maxwtc=100;

//step

if(wtc>0)

{

if(keyboard_check(vk_shift))

{

bieg=true;

}

}

if(bieg)

{

if(wtc>0) wtc-=1;

}

else if(wtc<maxwtc) wtc+=1;

 

//draw

draw_rectangle(twojex,twojey,dlugoscpaska/maxwtc*wtc,twoje2y);

Powinno działać za twojex itp. podstaw swoje wartości

Odnośnik do komentarza
Udostępnij na innych stronach

Po zastosowaniu eventu draw w obj hero, zamiast hero, wyświetlany jest prostokąt, ale jeśli zastosuję event draw w nowym obiekcie, to mimo, że wciskam shift, a hero biega, to pasek (prostokąt) jest w jednym miejscu i się nie zmienia. Nie wiem, czy coś źle robię. Mój skrypt na bieganie, to:

 

if keyboard_check(vk_shift)

bieg=true

else

bieg=false;

if bieg=true

s=10;

if bieg=false

s=7;

 

gdzie "s" to prędkość.

Potrzeba tylko paska, który po zupełnym zmniejszeniu robił "bieg=false", a po tym zaczął się stopniowo ładować.

 

Dzięki za poświęcenie na mnie czasu ;)

Czy robię coś nie tak, że nie działa? ;x

Odnośnik do komentarza
Udostępnij na innych stronach

jesli w innym obiekcie pasek robisz to adresowac zmienne musisz do konkretnego obiektu (gracz) albo na globalnych

 

POŁĄCZONO:

 

jak stoisz to odpoczywasz, jak idziesz to sie nie meczysz, jak biegniesz, to meczysz sie ze az pot leci ciurem

 

w create:

 

 

kondycha=10 // wytrzymalosc

kondycha_max=10 // max kondychy

 

step:

direction = point_direction(x,y,mouse_x,mouse_y)

 

if keyboard_check(vk_nokey)

{

speed = 0

kondycha += 0.3

}

 

if keyboard_check(vk_up)

{

speed = 7

}

 

if keyboard_check(vk_up) and keyboard_check(vk_shift)

{

kondycha -= 0.5

speed = 10

}

 

 

if kondycha >= kondycha_max

{

kondycha = kondycha_max

}

 

if kondycha <= 0

{

kondycha = 0

}

 

 

 

 

draw:

 

draw_sprite(sprite_index,image_index,x,y)

draw_rectangle(view_xview + 16, view_yview + 16, 100/kondycha_max*kondycha, view_yview - 20, 0)

 

 

 

enyoy

 

 

EDIT:

SORRY ZA DUBBLE POST :< DOPIERO SIE SKAPŁEM :( TO SIE WIECEJ NIE POWTORZY!

Odnośnik do komentarza
Udostępnij na innych stronach

jesli w innym obiekcie pasek robisz to adresowac zmienne musisz do konkretnego obiektu (gracz) albo na globalnych

 

No wiem, to chyba oczywiste. :P

 

 

Dziękuję! :D

Już działa, lecz mam jeszcze takie pytanie. Czy da się zmienić położenie tego paska nieco niżej, ustawić czarną ramkę dla tego paska, a na dodatek przekolorować ten pasek na szary kolor?

Odnośnik do komentarza
Udostępnij na innych stronach

Ok, ramkę zrobiłem już sam na podstawie tego kodu. U mnie całość wygląda tak:

 

draw_sprite(sprite_index,image_index,x,y);

draw_rectangle_color(view_xview + 0, view_yview + 61, 151, view_yview + 43, c_black,c_black,c_black,c_black, 1);

draw_rectangle_color(view_xview + 1, view_yview + 60, 150, view_yview + 44, c_white,c_white,c_white,c_white, 0);

draw_rectangle_color(view_xview + 1, view_yview + 60, 150/kondycha_max*kondycha, view_yview + 44, c_gray,c_gray,c_gray,c_gray, 0);

 

Gdzie to drugie od góry jest ramką, trzecie białym polem, a to na dole szarym paskiem.

 

Wielkie dzięki za pomoc, masz u mnie sporego plusa! :D

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...