Bedziom Opublikowano 18 Grudnia 2014 Udostępnij Opublikowano 18 Grudnia 2014 Siema. Mam skrzynkę, która powinna zniknąć po rozstrzelaniu jej na kawałki. W Stepie figuruje następujący kod: GML if hp=0 {a=instance_create(x+32,y+32,oSkrzynDes); a.image_angle=image_angle+choose(150,-16,-163,561,0.4444,61,-63); indes()} I wywala mi milutki, niezrozumiały dla mnie błąd Z góry mówię, że skrypt indes() to skrócone (dla wygody) instance_destroy() Dodam też, że pisałem to jakieś pół roku temu i wszystko działało, a dziś zrobiłem update - i tyle zmieniłem od tamtego czasu. I nagle, znikąd, błąd. O co chodzi i co robię źle? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Skorsis Opublikowano 18 Grudnia 2014 Udostępnij Opublikowano 18 Grudnia 2014 A ten obiekt "oSkrzynDes" Ci przypadkiem nie rozwala wcześniej tej skrzynki w create evencie? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 18 Grudnia 2014 Udostępnij Opublikowano 18 Grudnia 2014 OK, dobra. Już wiem co jest źle. ;) GML if hp=0 { with(instance_create(x+32,y+32,oSkrzynDes)) { image_angle=other.image_angle+choose(150,-16,-163,561,0.4444,61,-63); } indes()} W GM:S zostały zmienione jakiś czas temu eventy, a dokładnie to w jaki sposób działają. Błąd był przez to że nowy instance powstaje dopiero po wykonaniu reszty kodu. Więc próbuje zmienić image_angle po usunięciu obiektu który wykonał ten kod. Użycie with() pozwala na wymuszenie aby instance powstał (prawie) od razu i wykonał ten kod. Dopiero potem wykonuje się reszta. Inne obejścia tego to zrobienie osobno twojego kasowania w "End Step". Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę