Skocz do zawartości

Problem z background i object


RafiSI

Rekomendowane odpowiedzi

Co chcę osiągnąć:

 

Program (gra) ma odczytywać wszystkie pliki z zewnątrz (skrypty nie) w tym m. in tło i sprite.

 

Tło bezproblemowo jest wczytywane i "wkładane" do room'u.

 

Sprite też ładnie działa...

 

Problem:

 

Kiedy chcę różnymi możliwymi sposobami narysować, wstawić object z odczytanym spritem, to ten (sprite) jest nie widoczny.

 

Z kolei kiedy usunę wczytywanie tła wszystko jest należycie.

 

Przebieg problemu:

 

W evencie Create obiektu w osobnym room'ie (coś w stylu inicjacji wczytywania)

 

GML
global.bg_first = background_add(working_directory+"/graphic/bg/bg_first.png",0,0);

}

if file_exists(working_directory+"/graphic/bg/bg_inv.png")

{ // TŁO

 

 

 

if file_exists(working_directory+"/graphic/blocks/mod_wground.png")

{

global.mod_wground = sprite_add(working_directory+"/graphic/blocks/mod_wground.png",0,0,0,0,0);

 

} // SPRITE</span>

 

Creation code w room'ie

 

GML
background_index[0] = global.bg_first;

background_visible[0] = true;

 

No i sam object w evencie Ctreate

 

GML
object_set_sprite(wall_gground,global.mod_gground);

 

Wszystko na visible = true, object jest solid i musi być

 

Prośba o rozwiązanie:

 

Zatem co robię źle, że w żaden znany mi sposób umieszczania sprite m.in. draw nie działa mi kiedy jest tło.

 

W ogóle nie działa mi żadna funkcja draw na tle. (używam 8.1.65 zarejestrowana)

 

Co jest tego powodem i jak to rozwiązać. Z góry dziękuję.

Odnośnik do komentarza
Udostępnij na innych stronach

Z tym też kombinowałem w room'ie, ale jak pisałem, żadna funcja Draw nie działa...

 

Ponad to obiekt jest, sprite jest, ale jest nie widoczny... (oczywiście z visible = true ).

 

Nie mam pojęcia jak to zrobić, no chyba, że jest na funkcja na kolejność rysowania...

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

wszystko rysuje sie w takiej kolejnosci jakiej napiszesz, tj. np.

draw_rectangle(0,0,320,240,0)

draw_text(5,5,"tekst")

narysuje tekst na prostokacie, a

draw_text(5,5,"tekst")

draw_rectangle(0,0,320,240,0)

narysuje prostokat na tekscie

Odnośnik do komentarza
Udostępnij na innych stronach

GMLglobal.back_tlo=background_add('resources/back_tlo.png',0,0);

room_set_background(rm_gra,0,1,0,global.back_tlo,0,0,0,0,0,0,1);

Teraz w ogóle nic ma - ani tła, ani obiektu - jego sprite

 

 

 

wszystko rysuje sie w takiej kolejnosci jakiej napiszesz, tj. np.

draw_rectangle(0,0,320,240,0)

draw_text(5,5,"tekst")

narysuje tekst na prostokacie, a

draw_text(5,5,"tekst")

draw_rectangle(0,0,320,240,0)

narysuje prostokat na tekscie

 

Wiem jak działa draw. Ale nie wiem co zrobić by działało na wczytywanym tle, w ogóle na jakim kolwiek tle...

Odnośnik do komentarza
Udostępnij na innych stronach

Sprawdź, jaką wartośc mają te zmienne, bo coś mi sie wydaje, ze moga mieć -1 bo tych grafik wcale nie wczytało... a błąd nie musiał wyskoczyć.

 

 

 

 

I to też próbowałem, coś w stylu:

 

 

GML
fresk = sprite_get_name(global.mod_gground);

fresk1 = sprite_get_number(global.mod_gground);

fresk2 = sprite_get_width(global.mod_gground);

fresk3 = sprite_get_height(global.mod_gground);

draw_set_font(f_cash);

draw_set_color(c_white);

draw_text(1,1,"nazwa: "+fresk);

draw_text(1,32,"numer: "+string(fresk1));

draw_text(1,64,"width: "+string(fresk2));

draw_text(1,98,"height: "+string(fresk3));

 

I sprite jest poprawny, draw działa tylko w tedy gdy mie tła :(

 

Kiedy jest tło nie obiekty nie mają sprite, a draw nie działa, żadnych błędów nie mam typu:

 

nie poprawny plik, brak pliku itp...

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