Skocz do zawartości

Zablokowane object_exists nie chce działać poprawnie


FanXX

Rekomendowane odpowiedzi

Witajcie, z góry mówie ze ten banalny i łatwy kod nie chce mi działać jak jak bym to chciał więc opisze co mam:

 

STEP

 

GML
if !if object_exists(facebook_app) {instance_create(x+0,y+0,facebook_app)} other if object_exists(facebook_app) {with(facebook_app) instance_destroy();}

 

i jeszcze przetłumacze co chce zrobić na polski język:

 

Jeśli obiekt facebook_app nie istnieje to utwórz ten obiekt na x+0 i y+0 a jeśli istnieje to nic nie rób albo usuń ten co powstał (drugi) a ten istniejący zostaw

 

Mógłby ktoś mi pomóc bede naprawdę wdzięczny

Odnośnik do komentarza
Udostępnij na innych stronach

Mylisz obiekty z ich instancjami.

Obiektów się na mapie nie stawia to są zasoby gry. To co stawiasz na mapie bądź za pomocą kodu to instancja obiektu.

 

object_exists() sprawdza czy istnieje w drzewku z zasobami w folderze 'objects' obiekt o podanej nazwie a nie czy istnieje jego instancja w roomie.

 

Po za tym niepoprawną składnię widzę.

Co według ciebie ma oznaczać to: if !if GM tego nie rozumie. Przeczytaj sobie to na głos "Jeżeli nie jeżeli" ??

tego other if także.

Odnośnik do komentarza
Udostępnij na innych stronach

Auć. To, co napisałeś, jest pozbawione większego sensu i wynika z niezrozumienia składni . Polecam przerobić od początku szybki kurs podstaw: kliknij tu. Tłumacząc z Twojego:

 

Jeżeli nie jeżeli instancja* facebook_app istnieje, to utwórz instancję facebook_app w (x+0,y+0), [nieprzetłumaczalne odniesienie do innego obiektu :P] jeżeli instancja facebook_app istnieje, to zniszcz każdą instancję typu facebook_app

 

Jeżeli nie, to nie jest other if, tylko zwykłe else. other to konkretny obiekt (jego identyfikator, będąc bardziej ścisłym), z którym związana jest dana akcja (jeżeli masz akcję kolizji, to other odnosi się do tej instancji, z którym ten pierwszy się styka). Po drugie x+0 = x. Dodawanie zera do czegokolwiek jest bezcelowe. Kolejny błąd jest w Twoim rozumowaniu: nie ma czegoś takiego jak 'wykonaj A albo B'. Musisz się zdecydować, jaką akcję podejmujesz. Przemyśl jeszcze raz, co chcesz uzyskać. Na mój gust zależy Ci na tym, by mieć tylko jedną instancję typu facebook_app. Zamiast w stepie sprawdzać co krok, ile ich jest, lepiej sprawdzać liczebność tylko przy tworzeniu takich obiektów. Do zliczania służy funkcja instance_number.

 

* - nieprzyjemny anglicyzm.

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...