Skocz do zawartości

Odczytywanie plików z folderu


Madness

Rekomendowane odpowiedzi

To już chyba moja ostatnia prośba o pomoc ^^ bo koniec końców gre powinienem napisać sam B)

Niewiem dokładnie czy to pytanie dla zaawansowanych czy też nie :rolleyes: ale temat postawiłem tutuaj ;d

Jak zrobić żeby pliki zamiast all w exe (tzn. muza ,sprity,roomy) były odczytywane z folderów..

Jeśli gnysek przeczyta ten temat to chodzi mi o takie coś jak w almorze jest folder Music , Sound a nawet

do ss'ów :P jeśli ktos może powiedzieć za pomocą jakich komend gra ma odczytywać pliki z folderu a potem je np.: odpalić to to bendzie najprawdopodobniej moja ostatnia prośba..

 

Widziałem podobne coś w Edytorze lvl'i tyle że tam odczytywało pliki z rozszerzenia *.ini a to nie było dla mnie zbyt pomocne^^

Odnośnik do komentarza
Udostępnij na innych stronach

GML
twojnowysprite=sprite_add("katalog_ze_spritem/nazwa_sprita.jego_rozszezenie",1,1,1,xorigin_zwykle_0,yorigin)//na sprite

twojamuzyczka=sound_add("znowu_sciezka_do_pliku",1,0);

twojnowybackground=background_add("sciezka",0,1);

z roomami to juz inna, trudna sprawa

Odnośnik do komentarza
Udostępnij na innych stronach

Dobra dobra all mam....

Tylko teraz jak zrobić żeby to się ładowało przy tym jak ładuje się exe ....

Dlatego mówiłem że ,jakby gnysek to czytał to żeby pomógł ;] i że jak w almorze..

W almorze jest tak że jak odpalisz gre to pisze ci loading music itp. i wtedy ładuje poszczególne pliki....

Chodzi mi o tzw. ,,LoadingBar" przy właczeniu exe żeby to wtedy się ładowało

 

EDIT: Co do roomów to jest to w edytorze lvl'i z przykładów więc jakoś to z tamtąd wiciągne ^^

Tylko teraz jak powyżej powiedziałem żeby to sie ładowało podczas LoadingBar oprócz lvli no bo lvl bendzie się ładował jak da się Start Game

Odnośnik do komentarza
Udostępnij na innych stronach

Robisz zmienna w której zapisujesz aktualny postęp i tą w której jest ilość wszystkich plików do załadowania. Gdy załadujesz jakiś plik dodajesz do zmiennej postępu 1 i tak w kółko. Gdy zmienna osiągnie 100% to przenosi do roomu gry. Easy. Żeby się nie zawieszało to skorzystaj z wątków by snake.

Odnośnik do komentarza
Udostępnij na innych stronach

Spróbuje tak zrobić:

Zrobie 2 zmienne

GML
ilosc_plikow=24

postep=0

 

draw_healthbar (x1,y1,x2,y2,postep,......)

Co załadowany plik pójdzie ileś tam procentów a przy 100% czeka te 2s i przenosi...

Mysle że o to ci chodziło ;]

 

EDIT: Tylko jeszcze 1 ^^ sory bo powinienem odrazu o to zapytać ...

jaka jest komenda na sprawdzanie czy plik został załadowany bo bez tego ani rusz

Odnośnik do komentarza
Udostępnij na innych stronach

Niezbyt rozumiem o co ci chodzi ...Chodzi ci o to żeby do zmiennej podłączyć funkcje

tzn.

 

 

GML
zmienna=sound_add (......)

 

if zmienna=sound_add..... {zmienna=true}

a potem:

 

if zmienna=true

{

zmienna+=1;

}

 

Bo jak nie o to to niewiem...

Odnośnik do komentarza
Udostępnij na innych stronach

Wszystko pieknie by działało ale Create event jest wcześniej wykonywany niż Draw Event i tu jest problem.... próbowałem to zlikwidować dając zmienną która miała być =true po narysowaniu healthbara

i pliki miały się ładować dopiero po spełnieniu tego warunku ale to się wql nie działo ;/

GML
global.loadingbar=0

 

 

 

 

//Wczytywanie muzyki

 

 

global.music1=sound_add('Music/1.mp3',1,0);

 

global.loadingbar+=20;

 

global.music2=sound_add('Music/2.mp3',1,0);

 

global.loadingbar+=20;

 

global.music3=sound_add('Music/3.mp3',1,0);

 

global.loadingbar+=20;

 

 

 

 

 

//Wczytywanie backgroundów

global.bg1=background_add("Background/monid.jpg",0,1);

 

global.loadingbar+=20;

 

global.bg2=background_add("Background/Polewidzenia.jpg",0,1);

 

global.loadingbar+=20;

 

 

 

 

 

if global.loadingbar>=100

 

{

 

room_goto_next()

 

}

Odnośnik do komentarza
Udostępnij na innych stronach

Przykład loading bara bez ładowania plików. Event Create:

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

{

draw_rectangle(30,200,30+(i/30),250)

screen_refresh() //funkcja rysująca na ekranie wszystko narysowane powyżej tej funkcji, nie potrzeba eventu Draw

}

Odnośnik do komentarza
Udostępnij na innych stronach

Pętla for jest przydatna, jeżeli chcesz mieć numer powtórzenia w każdym wykonaniu pętli, takie coś jak npw w Logo.

 

Event Create:

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

{

draw_rectangle(30,200,30+(i/30),250,0) //nie muszę chyba pamiętać o tym dodatkowym argumencie...

screen_refresh() //funkcja rysująca na ekranie wszystko narysowane powyżej tej funkcji, nie potrzeba eventu Draw

}

Odnośnik do komentarza
Udostępnij na innych stronach

O jednak działa ;] tylko czabyło poczekać dłużej

:thumbsup: Wielkie Thx :thumbsup:

 

EDIT:

Jest all ok ^^ tylko jedno nie. Ładują się pliki ale gdy dodaje jakąś wartość do healthbara to tego nie wyświetla jest jakby 0.

Tłumacząc to normalnie jak ładuje pliki to jest taka jakby ścinka gry/programu i dodaje wartość do healthbara ale tego nie widać na pasku ... jeśli jeszcze ktoś może mi w tym dać pomocną dłoń to to jest ostatnia rzecz o którą prosze ;]

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