Skocz do zawartości

Przywrócenie obiektu po zejściu z niego


Rekomendowane odpowiedzi

dzięki wszystkim, którzy mi pomogli szczególnie dziekuje GMTraker'owi

 

PS. mam jeszcze jeden bład. Wyskakuje mi błąd podczas gry.

___________________________________________

ERROR in

action number 1

of Draw Event

for object dom:

 

Trying to draw non-existing sprite.

Chyba chodzi tu o to że nie rysuje sprita. A w obiekcie dom mam event DRAW i przypisany do niego kod

if ( not place_meeting( x, y, hero )) draw_sprite( DACH, 0, x, y )

 

I mam jeszcze jedno pytanie

Przy stepie bohatera jest taka linijka

draw_sprite( maska_domek1, 0, domek1.x , domek1.y )

Czy musze tworzyc ta maske tego domu czy nie?

Odnośnik do komentarza
Udostępnij na innych stronach

dzięki wszystkim, którzy mi pomogli szczególnie dziekuje GMTraker'owi

Moim skromnym zdaniem to szczególnie Markowi powinieneś dziękować :P

 

PS. mam jeszcze jeden bład. Wyskakuje mi błąd podczas gry.

"Trying to draw non-existing sprite" to znaczy po prostu: "Próba narysowania nieistniejącego sprite'a"

Czyli po prostu nie istnieje sprite DACH. Sprawdź poprawność nazwy. Jeżeli nazwa sprite'a jest ok to sprawdź czy przypadkiem jakaś zmienna, obiekt, room lub cokolwiek innego nie nazywa się tak samo, bo wtedy może się chrzanić :P

 

I mam jeszcze jedno pytanie

Przy stepie bohatera jest taka linijka

Zapamiętaj te słowa:

Wszystkie funkcje z grupy draw czyli funkcje rysujące cokolwiek możesz umieszczać TYLKO I WYŁĄCZNIE w zdarzeniu DRAW. Nie możesz ich dawać do stepa.

 

Co do maski:

To co drawujesz to tylko i wyłącznie obrazek "naklejony" na ekran nie mający żadnego wpływu na kolizje itp.

To co jest drawowane nie może być użyte jako maska.

Odnośnik do komentarza
Udostępnij na innych stronach

Dodam jeszcze że w stepie hero tam gdzie jest poruszanie się dałem inny kod i nie wiem czy mam dodawać tamten z pliku do mojego kodu

Mój kod w STEPie bohatera wyglada tak

// poruszanie

if ( point_distance( x , y , mouse_x , mouse_y ) > 5 and siedze_w = noone )

{

s = 5 // prędkość poruszania na boki

if( keyboard_check( ord('A')))

{

x += lengthdir_x( s, direction + 90 );

y += lengthdir_y( s, direction + 90 );

}

else

if( keyboard_check( ord( 'D' )))

{

x += lengthdir_x( s, direction - 90 );

y += lengthdir_y( s, direction - 90 );

}

 

if ( keyboard_check( ord( 'W' ))) speed = 8

else

if ( keyboard_check( ord( 'S' ))) speed = -5

else

speed = 0

}

else

speed = 0

a kod na poruszanie sie u Marka S.

//poruszanie

if ( x != next_x or y != next_y )

{

mp_linear_step( next_x , next_y , 3 , false )

}

 

if ( abs( x - next_x ) <= 3 and abs( y - next_y ) <= 3 )

{

if keyboard_check( vk_left ) and place_free( x - 24, y ) then next_x -= 24

else

if keyboard_check( vk_right )and place_free( x + 24, y ) then next_x += 24

else

if keyboard_check( vk_up ) and place_free( x, y - 24 ) then next_y -= 24

else

if keyboard_check( vk_down ) and place_free( x, y + 24 ) then next_y += 24

 

}

Odnośnik do komentarza
Udostępnij na innych stronach

juz naprawiłem błąd z wyświetlaniem sprita. Tylko że teraz pojawiły się 2 błędy.

1. Otóż jak wchodzę do domu to pojawia się dookoła czarny kolor a chce zeby byla trawa

2. Jak wchodze do domu to zamiast scian i podlogi pojawia sie dach

3. teraz cos sie zwalilo ze sterowaniem bohatera bo teraz sie nie obraca

Jak bys mogl to przerob ten kod zeby bylo tak jak w w/w pliku + żeby był dom z tym dachem co sie pojawia i chowa. Z gory bede wdzieczny i dodam do credits. :)

http://rapidshare.com/files/232119176/wsia...a_edit.gmk.html

ps. Dzieki Marek S. za te przyklady :)

Odnośnik do komentarza
Udostępnij na innych stronach

1. Wiesz jaka była główna idea tego przykładu? aby jak wejdziesz do domku znikał dach i aby w okół robiło się ciemno...

Usuń całą tą zabawę z surface.

 

2. W draw domu, zamiast tego co jest wstaw:

GML
if ( distance_to_object( hero ) > 5 ) draw_sprite( DACH, 0, x, y )

 

3. w hero draw zamaist draw_sprite daj

GML
draw_sprite_ext( sprite_index, image_index, x, y, 1, 1, 0, -1, image_alpha )
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ę...