Skocz do zawartości

Bład


Grela

Rekomendowane odpowiedzi

A więc tak gdy hero dotknie flagi mam taki kod:

GML
with(objBall)instance_destroy()

Init(41000,16)

Play('snd/smb-09.spc')

Ale jak dotykam to taki mi błąd wyskakuje:

 

___________________________________________

ERROR in

action number 1

of Step Event

for object objPlatform:

 

Error in code at line 1:

if (place_meeting(x,y-6,objBall) && objBall.x<x) { image_angle+=1; }

 

at position 45: Unknown variable x

 

Chodzi o to, zrobiłem tak że jak dotknie flagi to hero sie usuwa i gra muzyczka i przechodzi do nastepnego poziomu, ale mu wywala błąd, ma to coś chyba wspólnego z usunięciem hera, ale niewiem jak zrobić żeby nie wywalało takiego błądu jak dotknie flage. Gdzie jest błąd. Albo jakiego kodu brakuje?

Z góry dziękuje

 

Pozdrawiam, Grela :rockon:

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Taaaa.... to jest błąd z innego obiektu, albo kod na step z innego.

Niszczysz objBall, zatem już go nie ma, przez co kod w stepie wywala błąd, bo pobiera x od obiektu którego nie ma.

Ale na podstawie błędu to myślę, że poprawić można tak:

 

GML
if instance_exists(objBall)

{

if (place_meeting(x,y-6,objBall) && objBall.x<x)

{

image_angle+=1;

}

}

Odnośnik do komentarza
Udostępnij na innych stronach

ERROR in

action number 1

of Step Event

for object objPlatform:

 

Error in code at line 1:

if (place_meeting(x,y-6,objBall) && objBall.x<x) { image_angle+=1; }

 

at position 45: Unknown variable x

 

Error jest w akcji numer jeden eventu step w obiekcie objPlatform, w lini 1 w pozycji 45. Chodzi w nim o to, że program nie zna zmiennej x. Proponuję czytać tekst erroru zanim coś napiszesz.

Odnośnik do komentarza
Udostępnij na innych stronach

GML
if(instance_exists(objBall))

if(place_meeting(x,y-6,objBall)&&objBall.x<x)

image_angle+=1

 

Gnys szybszy ;P

Odnośnik do komentarza
Udostępnij na innych stronach

Czyli dodać kod ktory sprawdza czy dany objekt istnieje i dopiero wykonac akcje a jezeli nie to nie robi czyli taki cały kod?:

GML
if instance_exists(objBall)

{

if (place_meeting(x,y-6,objBall) && objBall.x<x) { image_angle+=1; }

if (place_meeting(x,y-6,objBall) && objBall.x>x) { image_angle-=1; }

}

else

{

}

Odnośnik do komentarza
Udostępnij na innych stronach

LoL czytaj to co widzisz.

 

Masz wyraźnie napisane "objPlatform".

 

A tak pozatym to ile czasu siedziałeś nad tym błędem zanim zapytałeś na forum? 3 minuty? Czy może 5?

 

A odnośnie tematu - problem w tym, że jak objPlatform ma wykonywać funkcję place_meeting dla objBall - jeśli go nie ma?

 

Kod na to podano w poście powyżej... aha i gnysek też napisał :P

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
Że w przeciwieństwie gdy objBall nie istnieje nie wykonuje nic. Tak zawsze robie i zawsze działa. No, ale ten kod działa. Dzięki Wam :D

 

Pozdrawiam, Grela :rockon:

 

zamiast

 

GML
if instance_exists(objBall)

{

if (place_meeting(x,y-6,objBall) && objBall.x<x) { image_angle+=1; }

if (place_meeting(x,y-6,objBall) && objBall.x>x) { image_angle-=1; }

}

else

{

}

starczy

GML
if instance_exists(objBall)

{

if (place_meeting(x,y-6,objBall) && objBall.x<x) { image_angle+=1; }

if (place_meeting(x,y-6,objBall) && objBall.x>x) { image_angle-=1; }

}

 

else dajesz tylko gdy w przeciwnym wypadku ma się coś dziać, albo chcesz dodać jeszcze jeden warunek i dajesz wtedy else if i na koniec else - skoro nic sie nie dzieje, to po co dodawać do tego kod ?

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