Skocz do zawartości

Depth tekstu


Kargul

Rekomendowane odpowiedzi

Witam! Otóż robiąc swoją grę RTS jakoś mi idzie, lecz co chwilę mam jakieś problemy. Tego nie umiem rozwiązać to też zamieszczam go tutaj.

Mam z lewej strony taki pasek. Żeby przyczepić go do ekranu dałem mu draw_sprite i jako współrzędne dałem mu xview itd...

No i chciałbym żeby on miał depth na minusie, żeby "górował nad wszystkimi". Okej, dałem mu depth -1 i jest okej. Jednak mam obiekty budynki. One mają i draw_sprite i draw_text. No i jak budynki mają większy depth nie widać ich pod paskiem, jednak to samo dzieje się z tekstem.... Chciałbym aby tekst miał depth -2 a sprite 1. Jak to zrobić? Chodzi mi tylko o depth tekstu oczywiśćie :)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Jeśli sam tekst ma być nad budynkami, to musi być w kodzie dalej niż draw_sprite_ext. Jeśli jednak ma być na górze ekranu, to pierwsze co mi przychodzi do głowy, zrobić obj_tekst, dać mu depth na -9999 i potem w obiektach with (obj_tekst) draw_text();

Odnośnik do komentarza
Udostępnij na innych stronach

Ten tekst nie jest nad ani pod budynkami tylko tam gdzie ten pasek, który jest z lewej strony. No i chciałbym aby pasek miał większy depth od niego, jednak to powoduje że budynki górują nad nim. Hm... a da się to jakoś w tym jednym obiekcie zrobić, obiekcie budynku?

Odnośnik do komentarza
Udostępnij na innych stronach

moze sprobuj:

obiektowi budynku daj depth: 1

a w drawie tuz przed rysowaniem tekstu:

GML
depth = -2;

draw_text(blabla);

Przeciez mozna nadawac depth w rysowaniu, nie wiem tylko czy o to dokladnie ci chodzi.

Odnośnik do komentarza
Udostępnij na innych stronach

To niech pasek będzie osobnym obiektem z większym depth. Nie za bardzo rozumiem Twój problem.

 

Gdy pasek ma większy depth budynki nad nim górują. Gdy ma mniejszy, nie widać tekstu bo jest pod paskiem...

 

Candy: tak mam.. Nie wiem co twój kod ma do depth...

Saus: Spróbuję tego...

Nie wiecie o co mi chodzi? hmm....

Kiedy przesuwam viewem ekran w prawo budynki wystają po za pasek, bo pasek ma większy depth. Chciałbym aby pasek miał mniejszy depth od budynków, ale tekst który pisze budynek wystawał tam gdzie jest pasek.

Czyli:

Budynki są na dole.

Pasek jest nad nimi.

Tekst jest nad paskiem.

Tekst i Budynek to ten sam obiekt...

Odnośnik do komentarza
Udostępnij na innych stronach

Co to za problem, żeby rozdzielić na dwa obiekty ?

 

Oj bardzo wielki. Założyłem kiedyś temat o tym że mam problemy z dwoma budynkami. Specjalnie zrobiłem z nich jeden. Zbyt skomplikowane żebym ci wytłumaczył... Po prostu jak tam mam np. draw_text (życie) to głupieje. Wszystko robi podwójnie, oj nie będe opowiadał. Nie może być dwóch obiektów!

Odnośnik do komentarza
Udostępnij na innych stronach

Jesli nie dziala to co podalem, to rzeczywiscie mozesz zrobic 2 obiekty. Jednak nie w stylu ze od kazdego budynku robisz do niego 'wyswietlacz'.

Zrob sobie osobny obiekt ktory bedzie wyswietlal info na temat budynkow i przy najezdzaniu 'wysylaj' temu wyswietlaczowi tekst jako zmienna i niech on to rysuje.

Skomplikowanie brzmi :D?

GML (NAJECHANIE CZY TAM COS)
wyswietlacz.tekst = 'Blablabla';

 

@Edit: Podobny sposob podawal Ci gnysek juz na samym poczatku, tak nawiasem mowiac.

Odnośnik do komentarza
Udostępnij na innych stronach

O przepraszam, rzeczywiscie sprawdzilem teraz na GM 8 i nie dziala.

Jednak zawsze uzywalem czegos takiego (inaczej bym o tym nie napisal) i wszystko bylo ok, tyle ze dotychczas gry robilem w 6.1 wiec nie wiem, moze to przez to :P

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Wyjaśnij sytuację... masz obiekt z paskiem (jakieś GUI tak?), pod nim masz budynki i tekst ma się malować nad budynkiem i nad paskiem ? Wtedy wystarczy malować tekst za pomocą with dla paska, ew. jakoś draw w pasku dorobić, że jak cośtam zaznaczasz to się maluje.

Odnośnik do komentarza
Udostępnij na innych stronach

Ech... wiedziałem że wszystko i tak będe musiał wam pokazać na screenach... Zatem:

abcdx.png

To żelazne to pasek. A te budynki to budynki :P

Kiedy przesuwam myszką w prawo, dzieje się to:

ahes.png

Dałem że budynek ma większy depth, ale teraz gdy klikam na budynek tekst się nie pojawia na pasku bo... ma większy depth. Oto mój problem!

Odnośnik do komentarza
Udostępnij na innych stronach

No to ustaw obiektowi który rysuje pasek mniejszy depth tak aby zawsze był na wierzchu

 

Kurde przecież o tym mówie... Kiedy pasek jest na wierzchu, gdy kliknę na budynek nie widać tekstu bo jest pod paskiem...

 

Saus: Mam tak... Ale co z wievem? Bo jak przesuwam ekran pasek się zderza z budynkiem, przecież nawet na screenach było to wyraźnie pokazane...

Odnośnik do komentarza
Udostępnij na innych stronach

To tekst rysuj w tym samym obiekcie co pasek.

 

Kurde ale ja mam z 20 budynków! Tekst się rysuje kiedy budynek jest wybrany! Nie może tak być... Draw_text musi być w budynku, musi być widoczny ale budynek nie może być widoczny pod paskiem.

Odnośnik do komentarza
Udostępnij na innych stronach

Oświadczam, że jeśli użyjemy with, to rysowanie działa nadal z depthem z obiektu, w którym jest kod, nie z obiektu, do którego odnosi się with. Rzeczywiście dziwne, ale sprawdziłem i tak jest :D .

 

EDIT:

 

Starałem się jak najprościej, TRZYMAJ.

 

Nie moge odtworzyć pliku, zła wersja.

Saus: Po co dałeś link do tematu?

Odnośnik do komentarza
Udostępnij na innych stronach

Dalem link do mojego posta w tym temacie, #10

Zrob zeby ten obiekt ktory rysuje ten pasek rysowal tez swoja zmienna zalozmy 'opis'

Potem przy klikaniu w budynki zmieniaj ta zmienna na jakas dowolna wartosc:

GML
obiekt.opis = 'To jest fajny budynek';
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ę...