Skocz do zawartości

Jak napisac wartosc liczbowa?


Rekomendowane odpowiedzi

robisz fonta(jak nie masz, to tez musisz zrobic te podstawowa)

i dajesz:

 

draw_set_font(czcionka)

draw_set_color(c_red)//kolorek :D

draw_text

draw_set_color(c_black)//i zmieniasz spowrotem

draw_set_font(czcionka_podstatowa)

 

sa tez zmienna draw_text_ext, draw_text_transformed

Odnośnik do komentarza
Udostępnij na innych stronach

funkcje draw_ dzialaja tylko w draw :D

 

wszystko teraz juz jest OK :)

Karolo320, a powiedz jak czesto jest wywolywany event draw??

Mam zmienna global.score i chcialbym ja pisac na nowo tylko wtedy gdy sie zmienia, a nie zeby 100 razy na sekunde pisalo mi na ekranie score: 5. Tylko zeby zmienialo tylko wtedy gdy dostane kolejne punkty.

Odnośnik do komentarza
Udostępnij na innych stronach

robisz fonta(jak nie masz, to tez musisz zrobic te podstawowa)

 

i ostatniue pytanie, co to znaczy z tym robieniem fontow? gdy projektuje sprita to tam mam cala liste roznych typow pisma, natomiast gdy probuje ustalic draw_set_font(italic) to on italic uznaje jako zmienna a nie nazwe rodzaju pisma. No i jak ustalic wielkosc czcionki?

Odnośnik do komentarza
Udostępnij na innych stronach

sorry za kolejne pytanie ale lubie wiedziec dokladnie jak co dziala.

wiec chcialem napisac funkcja draw_ liczbe zdobytych punktow, tylko po co mialoby sie to rysowac kilka razy, jesli wystarczy zeby napisalo ze mam na przyklad 5 punktow.

Po napisaniu tego chce zeby kolejny raz program rysowal to DOPIERO gdy zdobede kolejne punkty. I wtedy znowu niech funkcja draw_ czeka z rysowaniem az znowu zdobede kolene punkty....

Chodzi mi po prostu o to zeby niepotrzebnie program nie zajmowal sie rysowaniem tych samych punktow.

 

object obj_GameSkeleton

event create

global.score=0

 

object obj_HUD

event create:

GML
last_score=-1

 

event draw:

GML
if global.score>last_score then

{

draw_set_font(font_HUD)

draw_text(550,510,global.score)

last_score=global.score

}

 

Czyli mniej wiecej to co napisalem.... niestety, chociaz wszystko dziala jak nalezy,

tj. napis "score" jest rysowany wylacznie gdy zdobede kolejne punkty (za wyjatkiem pierwszego razu gdy jest rysowany, chociaz jeszcze mam zero punktow .... niestety, zaraz po narysowaniu napis jest wymazywany z ekranu, DLACZEGO?

 

Event draw jest wykonywalny tyle razy na step ile jest aktywnych viewów.

Mam jeden aktywny view.

predkosc pokoju ustawiona jest na 90

HuderLord wiec ile razy na sekunde jest wywolywany event draw przy jednym viewie?

Odnośnik do komentarza
Udostępnij na innych stronach

Mam jeden aktywny view.

predkosc pokoju ustawiona jest na 90

HuderLord wiec ile razy na sekunde jest wywolywany event draw przy jednym viewie?

90 razy na sekundę

 

A efekt który chcesz uzyskać z odświeżaniem HUDa tylko wtedy kiedy nastąpią na nim jakieś zmiany jest możliwy przy użyciu surface.

Odnośnik do komentarza
Udostępnij na innych stronach

karolo320 to nie tak. Program wykonuje sie poprawnie, rysuje napi tylko wtedy gdy zdobede kolejne punkty(to znaczy tylko wtedy gdy zwiekszy sie global.score) tylko ze po narysowaniu gamemaker sam z siebie wymazuje caly napis.

 

HuderLord o surface jeszcze nic nie wiem, po prostu doczytam.

 

Dzieki wszystkim za pomoc. Rysowanie draw 90 razy na sekunde zostawie po prostu bez zmian, chcialem to optymalizowac tylko dla wlasnego samopoczucia :)

Odnośnik do komentarza
Udostępnij na innych stronach

Nie zoptymalizujesz tego, room_speed jest ustawiony na 90 (swoją drogą lepiej ustawić to na 60, monitory niezbyt często mają tempo odświeżania ekranu większe niż 60 (60MHz)) to znaczy, że 90 razy na sekundę okno gry jest rysowane od nowa - i nie działa to tak, że odrysowywane jest tylko to, co się zmieni - po prostu 90 razy na sekundę cały ekran gry jest rysowany jeszcze raz. I nic nie "zostaje" na ekranie - wszystko, tzn. tło, tilesy, wszystkie obiekty, punkty (wszystkie eventy draw) rysują się od nowa.

Odnośnik do komentarza
Udostępnij na innych stronach

cały ekran gry jest rysowany jeszcze raz. I nic nie "zostaje" na ekranie - wszystko, tzn. tło, tilesy, wszystkie obiekty, punkty (wszystkie eventy draw) rysują się od nowa.

Dzieki za wytłumaczenie, teraz w końcu mam jasność. Swoja droga to gdyby gamemaker rysował na nowo TYLKO to co sie zmieniło to wszyscy by na tym skorzystali na predkosci gier.

 

Co do zmiany predkosci room to jest tak:

zaczynalem z predkoscia v=30 ale wtedy by nie bylo za prosto grac, zwiekszylem predkosc objektow.

Efekt byl taki ze bylo widac takie niewielkie przeskakiwanie poruszajacych sie obiektow.

Natomiast gdy zmniejszylem predkosc poruszania sie obiektow, a by zachowac wlasciwy poziom trudnosci zwiekszylem predkosc room na 90 to teraz wszsytko sie plynnie porusza.

 

//edit

zrobilem na probe wyswietlanie wynikow na surface ale w tym wypadku nie zdaje to egzaminu, bo wychodzi na to ze surface z kolei wogole nie jest mazany. To znaczy ze jak wyswietlam wynik np: 0 a pózniej wynik zmienia sie na 5 to otrzymujemy.. 5 na tle wczesniejszego 0 (5 i 0 razem w tym samym miejscu). Wpadaloby by wiec go mazac przed uaktualnieniem, ale nie o to tu przeciez chodzi aby sobie komplikowac życie :)

Wydaje mi sie ze rozumiem idee surfow, swietnie beda sie chyba spradzac jako np: stałe tło na ktorym już bez opcji surface bedziemy wyswietlac wyniki.

OK dzieki, czas isc spać :)

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