Skocz do zawartości
taxi_driver

Jak napisac wartosc liczbowa?

Rekomendowane odpowiedzi

Nie moge tego znalezc w dokumentacji wiec prosze o pomoc.

W jaki sposob moge napisac na ekranie wartosc liczbową?

Zmienna przechowuje wartosc ktora chcialbym pokazywac w czasie gry na biezaco.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jak zwykle karolo320 i jak zwykle z predkoscią światła.

Zawsze mam wrazenie ze zanim wysle post to juz piszesz podpowiedz.

Dziekuje.

a jak ustalic wielkosc, rodzaj i kolor czcionki?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

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

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

karolo320 wciaz nic.

Ustawiam draw_text w evencie step.

Jak na przyklad wyswietlic napis hallo? albo liczbe 51?

draw_text(10,10"hallo") nic mi nie pisze.

Udostępnij tego posta


Odnośnik do posta
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.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

nie no, draw jest wykonywany tak jak step, co klatke(cos tam mowili, ze step*ilosc aktywnych viewow).

jak chcesz wyswietlac napis caly czas, to musi ci wyswietlac go caly czas(room_speed razy na sekunde)

Udostępnij tego posta


Odnośnik do posta
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?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

klikasz na gorze jest znaczek, takie dwa T i tam ustawiasz, nie wiem czy da sie ustawiac pogrubienie, pochylosc funkcja

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

tam mam napisane "no font" :(

//edit aha U GÓRY :)

Mam wszystko juz. Jeszcze raz dzięki.

Jesteś karolo320 najlepszy!

Udostępnij tego posta


Odnośnik do posta
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?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

if global.score>last_score then

{

draw_set_font(font_HUD)

draw_text(550,510,global.score)

last_score=global.score

}

 

jesli nie jest rowne, rysuje, jesli tak - nie rysuje :P wywal to last_score.

Udostępnij tego posta


Odnośnik do posta
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.

Udostępnij tego posta


Odnośnik do posta
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 :)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Dokładnie!

Po za tym wlasnie przeczytalem o surface i wychodzi na to ze on tez jest rysowany w evencie.... draw :)

Wiec w sumie to na to samo wychodzi.

Udostępnij tego posta


Odnośnik do posta
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.

Udostępnij tego posta


Odnośnik do posta
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ć :)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

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

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

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×