Skocz do zawartości

zniszcz wszystkie zielone obiekty


Prencik

Rekomendowane odpowiedzi

Wiem, że robisz to na klockach, ale rozwiązanie dam w kodzie. Postaram się go wyjaśnić i szczerze liczę, że postarasz się zapamiętać funkcje których Cię tutaj nauczę.

 

Po pierwsze musisz znać kolor. Ustawiłeś zielony, ale czy znasz jego RGB? Musisz je znać, bo komputer nie zna pojęcia "zielonego" jako szereg różnych barw.

 

Najpierw musisz odwołać się do wszystkich obiektów wśród których mogą znajdować się te których szukasz.

 

Aby odwołac się do wszystkich instancji obiektu używasz "with"

wygląda to następująco:

GML
with(NazwaObiektu)

{

//Kod ktory ma sie wykonac w tych obiektach

}

 

Jeżeli obiekt się nazywa ObjCelDoWcisniecia to bedzie to wygladalo tak:

 

GML
with(ObjCelDoWcisniecia)

{

 

}

 

Między { i } wpisuje się to co ma się z nimi dziać.

 

Jeżeli chcesz coś sprawdzić to używasz if, czyli po polsku "Jeżeli". Dosyć proste, prawda?

 

Ty chcesz sprawdzić to:

Jeżeli kolor sprite'a to zielony to....

 

Teraz jak sprawdzić kolor sprite'a? Kolor sprite'a jest zapisany w zmiennej image_blend.

 

To mamy już połowę zdania:

GML
if image_blend //Jeżeli kolor sprite'a....</span>

 

Teraz aby porównać coś z czymś używasz znaku równa się, czyli = .

Teraz musimy znaleźć kolor który ma nam sprawdzić.

 

Do tego służy make_color_rgb(R,G,B ). Wewnąrz nawiasu są trzy litery: R,G,B. To te wartości RGB koloru który wybrałeś. Jeżeli twój wybrany kolor to np 34,177,76 (typowa paintowa zieleń) to wygląda tak:

GML
make_color_rgb(34,177,76)

 

Okej to mamy już całe pytanie:

GML
if image_blend = make_color_rgb(34,177,76) //Jeżeli kolor sprite'a to kolor [34,177,76](nasza wybrana zieleń)....

{

//Tutaj to co się stanie jeżeli odpowiedź brzmi TAK

}

 

Okej, jeżeli kolory się zgadzają, to chesz usunąć obiekt, prawda? Od tego jest instance_destroy()

 

Cały kod powinien wyglądać tak:

 

GML
with(ObjCelDoWcisniecia)

{

if image_blend = make_color_rgb(34,177,76)

{

instance_destroy()

}

}

 

 

Notka od autora: Prosze postaraj sie zapamietac to co tutaj napisalem, poniewaz jezeli bedziesz tylko kopiowac i wklejac rozwiazania podane Ci przez innych, nigdy sie niczego nie nauczysz. Pomoc od innych jest wazna, ale musisz z niej wyciagnac co sie da, zapamietac co sie da i byc troche madrzejszym. Mowie to, bo mielismy i mamu tu takich ktorzy nigdy sie niczego nie nauczyli bo nie uczyli sie kodu od innych uzytkownikow, tylko go wklejali na slepo bez zrozumienia.

(chyba sobie to wkleje do sygnatury)

Odnośnik do komentarza
Udostępnij na innych stronach

Są dwa wyjścia:

1. Tak jak napisales, kopiowac.

 

2.zrobić tak:

2.1 Zrobić nowy obiekt który nie występuje w grze i nazwać go np. ObjKlikalnyObiekt

2.2 Ustawić klikalnym obiektom ten ObjKlikalnyObiekt jako PARENT

2.3 W "with" odnosić się do PARENTA. Nie musi istniec w grze, wystarczy ze jest w edytorze. W ten sposob ten with odniesie sie do WSZYSTKICH obiektow ktore maja ObjKlikalnyObiekt jako parent.

Odnośnik do komentarza
Udostępnij na innych stronach

nadal coś nie działa ... :( nie rozumiem ... ustawiłem ten kod w obiekcje który ma się zniszczyć w evencie create ... i po naciśnięciu kiedy zmienia się na kolor zielony (0,255,0) nic się nie dzieje

 

z tego co się domyśliłem to RGB to skrót od kolorów red,green,blue i spisałem kolejno wartości liczbowe z koloru z tabeli

Odnośnik do komentarza
Udostępnij na innych stronach

A daj w with przed if

GML
show_message("r:"+image_blend.r+"g:"+image_blend.g+"b:"+image_blend.b);

To powinno wyświetlić wartości image_blend każdego obiektu tego typu. Ja tak robię kiedy coś nie działa a nie wiem co. Dzięki temu będziesz wiedział jakie wartości powinieneś podać w if.

Odnośnik do komentarza
Udostępnij na innych stronach

A daj w with przed if

GMLshow_message("r:"+image_blend.r+"g:"+image_blend.g+"b:"+image_blend.B);

To powinno wyświetlić wartości image_blend każdego obiektu tego typu. Ja tak robię kiedy coś nie działa a nie wiem co. Dzięki temu będziesz wiedział jakie wartości powinieneś podać w if.

 

Tak nie wyciągniesz wartości RGB.

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