Orcadiusz Opublikowano 9 Czerwca 2015 Udostępnij Opublikowano 9 Czerwca 2015 Chyba banalny problem: (ins=instancja ) (sn=(var) id insancji A) Otóż jest ins A która ustala(po naciśnięciu "e") pewną zmienną(vel) w ins B. Jak zrobić żeby dla vel=1 dodać "motion_add" dla ins A? próbowałem "if vel=1 (sn).speed=+3" i działało, ale motion add to już nie jest zmienna i no... nie umiem ;p.. (może to istotne, A tworzy B (jako eng) /// ok! B przechowuje A.id (jako sn) /// ok! A zmienia B.vel /// ok B dodaje motion_add dla A /// dupa... <---- I w tym miejscu proszę o pomoc:/. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 9 Czerwca 2015 Administratorzy Udostępnij Opublikowano 9 Czerwca 2015 with( A ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 9 Czerwca 2015 Udostępnij Opublikowano 9 Czerwca 2015 speed jest zwykłą zmienną obiektu więc bez problemu można ją zmieniać tak jak to robiłeś. motion_add() to już funkcja, musisz wykonać ją z wewnątrz obiektu na który ma działać. Sposobem na to jest with(). GML with(A) { motion_add() } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 9 Czerwca 2015 Udostępnij Opublikowano 9 Czerwca 2015 GML with(sn) { motion_add } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Orcadiusz Opublikowano 9 Czerwca 2015 Autor Udostępnij Opublikowano 9 Czerwca 2015 Dzięki, działa :) --------------- A oto medal za "uruchomienie silnika" oraz błyskawiczną odpowiedź! Gnysek: Za wyjaśnienie czym się różni zmienna od funkcji Threef: Za uwzględnienie w kodzie nazwy zmiennej Boad: ---------------------------------------------- A kod skończył w takiej postaci: GML if vel=1 with (sn)motion_add((sn).image_angle,(sn).engpow/(sn).mass) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 9 Czerwca 2015 Udostępnij Opublikowano 9 Czerwca 2015 with() powoduje że kod wykonuje się jakby z wewnątrz obiektu/instance który jest argumentem. Z tego powodu zmienia się zasięg zmiennych i możesz po prostu zrobić: GML if vel=1 with (sn)motion_add(image_angle,engpow/mass) Co innego gdybyś chciał odnieść się do zmiennych z oryginalnego obiektu. Wtedy trzeba użyć other, ale o tym poczytaj już w dokumentacji gdzie będziesz miał dobre przykłady. 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ę