Skocz do zawartości

konsola w grze rpg


Paqoo

Rekomendowane odpowiedzi

Nie mam pomysłu jak miałaby działać konsola w RPG-u.

 

Chodzi o coś takiego, że zbierasz kasę, dostajesz expa, albo wykonujesz misję i tam jest napisane, i najlepiej jakby dało się to przewijać strzałkami. Z czego mam skorzystać? A może są jakieś przykłady, o których nie wiem?

Odnośnik do komentarza
Udostępnij na innych stronach

Najpierw zadam ci szczere pytanie - ile siedzisz w GM'ie...?

 

Co do tematu - możliwości jest od groma, tablice, gridy, listy, obiekty...

Jeśli dobrze rozumiem - te teksty mają tam zostawać, a jeśli nie ma ich na ekranie to mają znikać, czy masz może jakieś jeszcze ciekawsze życzenia jak np. pasek przewijania :P ?

Odnośnik do komentarza
Udostępnij na innych stronach

Najpierw zadam ci szczere pytanie - ile siedzisz w GM'ie...?

Na pewno więcej niż ty :D Tyle że w GM już nie chce mi się nic robić :D

 

@topic:

Hmm.Jeśli chodzi o pasek przewijania to najlepiej jakiś dll z ListBox,bo w GM to pisanie konsoli z przewijaniem to nie opłacalne jest (ze wzgledu na wydajność ):D

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli mnie nie kojarzysz to znaczy, że ty nie za dużo siedzisz w GM-ie.

 

A wracając do sprawy to przydałby się pasek przewijania. Sam nie wiem - jakoś mi ciężko jest sobie to zaplanować. Jak tablica jest pełna to wrzuca w drugą komórkę itp? Przewija jak są pełne tablice w oknie wszystkie? Czy jak :D?

Odnośnik do komentarza
Udostępnij na innych stronach

...

 

Bez surface'ów nie da się tego wykonać, ponieważ trzeba by było rysować dodatkowe 4 prostokąty wyróżniając jeden w środku, [konsolę] (lekko bez sensu :D), a to by się tylko na jednolitym tle sprawdziło... Wszystko to wynika z faktu, że powierzchniom można ustalić wymiary :) .

Odnośnik do komentarza
Udostępnij na innych stronach

Dobra. Czyli surface to najlepsza opcja. Nie ma innych. Ktoś zna jakiś przykład albo link do tematu? Bo nie znam się na tym zbytnio. Kiedyś miałem okazję bawić się surface, jak próbowałem robić interfejs w grze, żeby się nie ruszał przy poruszaniu za view.

 

Wybacz mimek ;s Ale chciałem ukazać, że surface to czarna magia dla mnie.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie mam GMa zainstalowanego więc w razie błędów poprawcie mnie :P

GML (Panel Create)
surf = surface_create( 200, 200 );

text = "Jakis tam#tekst do#pokazania";

pozy = 0;

GML (Panel Step)
if( keyboard_check( vk_pageup ) ) pozy += 1;

if( keyboard_check( vk_pagedown ) ) pozy -= 1;

surface_set_target( surf );

draw_text( 5, 5+pozy, tekst );

surface_reset_target();

GML (Panel Draw)
draw_surface( 100, 100, surf );
Odnośnik do komentarza
Udostępnij na innych stronach

W Draw ma być draw_surface(surf, 100, 100); inaczej wyskoczy błąd o nieznanym surface. Tam jest id 100... =.=

 

W stepie draw_text( 5, 5+pozy, tekst ); ma być text nie tekst, bo w create jest text=blabalbal...

 

Ale mimo to nie działa... Nic nie widać! Nie ma błędu, ale też nic się nowego nie pojawiło.

 

Może dlatego, że mam view? W panelu jest w drav:

x=view_xview[0]+83;
y=view_yview[0]+415;

draw_set_color(c_white);
draw_surface( surf, 100, 100 );
draw_sprite(sprite_index,image_index,x,y);

 

Może być też zła kolejność...

 

Edit 1:

Dałem draw_surface( surf, view_xview[0]+83, view_yview[0]+415); i pojawił się tekst na panelu, ale ma mniejszy depth... Jak go przestawić?

Odnośnik do komentarza
Udostępnij na innych stronach

i pojawił się tekst na panelu, ale ma mniejszy depth...
Eee... co? Oo

Weź to sprecyzuj.

 

Najpierw malujesz huda czy co tam chcesz, później na to tekst z surface'a.

 

Jeśli mnie nie kojarzysz to znaczy, że ty nie za dużo siedzisz w GM-ie.
Kojarzę Cię, a to była ironia. Bo siedzisz w GMie dużo dłużej niż ja a ciągle zadajesz idiotyczne pytania. Wybacz, szczery jestem...
Odnośnik do komentarza
Udostępnij na innych stronach

Bo ja nie mam tyle czasu na GM-a i zazwyczaj korzystam z gotowców, bo mi się nie chce babrać w kodzie. Uczę się teraz C++.

 

O jezu... draw_text tylko "dodaje" do suface to co ma rysować,ale tego nie widać. Dopiero jak użyjesz draw_surface to sie pojawi.

 

No wow, a co to ja jestem wszechwiedzący? Napisałem, że surface to dla mnie czarna magia. Wiem, że to taka powierzchnia, na której można coś robić. Wiem też, że można to użyć do viewa. Trzeba to zinicjować i można używać. I na tym się wiedza kończy.

 

Mi trzeba kod albo jakiś tutorial :)

Odnośnik do komentarza
Udostępnij na innych stronach

Tak dla mnie to wielki problem.

Od kiedy po wyszukaniu wyskoczył mi pornol to się przestraszyłem. Został stały uraz na psychice. Teraz się lękam opcji szukaj...

 

Tak na poważnie to po przeczytaniu tego tutka dalej nie wiem jak ustawić depth tekstu... :(

 

A tak wogole to żeby dodawać tekst muszę zrobić coś takiego:

surface_set_target(surf);
text='czekoladowy janusz otrzymał 450 punktów expa'
surface_reset_target();

 

??

Odnośnik do komentarza
Udostępnij na innych stronach

kombinujecie jak kon pod gorke....

 

1. robisz tablice o rozmiarze X

 

2. robisz petle wyswietlajaca 0-5 wpisow z tablicy

 

3. robisz skrypt podbijajacy wpisy. tzn.: zaczynasz od ostatniego wpisu i jesli jest to ostatni wpis jest zerowany, jesli nie to jesli nastepny wpis jest zerowy to przepisz aktualny do nastepnego, a aktualny potem wyzeruj. przejdz do kolejnego

 

4 w momencie gdy chcesz dodac komunikat uaktywniasz skrypt podbijajacy wpisy w tablicy, po czym przypisujesz pierwszemu elementowi tablicy odpowiednia wartosc np:

 

za moba jest 25 xp - jest to zmienna lokalna dla tego moba - mob ginie odpala sie skrypt wyswietlajacy komunikat o uzyskaniu xp:

 

a> skrypt podbijajacy wpis w tablicy

 

b> mamy zmianna xp=25 i zmienna name="maly goblin" a wpis do tablicy wyglada mniej wiecej tak:

 

konsola[0]="zabiles "+string(name)+" i zyskales: "+string(xp)

Odnośnik do komentarza
Udostępnij na innych stronach

jaki problem...

GML
for(i=0;i<5;i+=1)

{

draw_text(x,y-i*16,string(konsola[i+przewin]))

}

 

gdzie przewin jest zmniejszane/zwiekszane za pomoca strzalek, kolka myszy. (trzeba tylko ogranicznik zrobic by nie wychodzic z wyswietlaniem poza zakres tablicy)

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ę...