Grabus Opublikowano 6 Listopada 2008 Udostępnij Opublikowano 6 Listopada 2008 Potrzebny mi taki efekt: Załóżmy, że mam objekt ABC. Ma on rozmiary 100x100. Mam też objekty XYZ, załóżmy o wymiarach 10x10. Obiekty XYZ są poukładane jak w tabeli (myślę że dobrze wytłumaczyłem). Chcem by podczas kolizji z obiektu ABC (gdy jest przenoszony myszką) z objektem XYZ objekt XYZ zmieniał kolor. Napisałem kod który to wykonywał, ale kiedy objekt ABC "zostawiłem" na obiektach XYZ i brałem myszką drugi objekt ABC to obiekty XYZ, które znajdowały się pod pierwszym ABC też zmieniały kolor. Jak tego uniknąc? Dzięki z góry za pomoc. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Harv Opublikowano 6 Listopada 2008 Udostępnij Opublikowano 6 Listopada 2008 GML Create XYZ: global.colorz = false; Gdzieś: if !global.colorz { //zmiana koloru global.colorz = true; } Chyba o to Ci chodzi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Grabus Opublikowano 6 Listopada 2008 Autor Udostępnij Opublikowano 6 Listopada 2008 Niezabardzo bo kolor obiektu XYZ ma się zmieniać tylko gdy jest kolizja z przenoszonym ABC. Jest kilka obiektów XYZ a zmienic kolor ma tylko ten który koliduje z przenoszonym ABC. A jak użyje zmiennej globalnej to wszystkie będą zmieniały kolor. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 6 Listopada 2008 Udostępnij Opublikowano 6 Listopada 2008 Sprawdzaj który obiekt ABC styka się z przenoszonym obiektem XYZ i na nim wykonuj akcję ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Grabus Opublikowano 6 Listopada 2008 Autor Udostępnij Opublikowano 6 Listopada 2008 Sprawdzaj który obiekt ABC styka się z przenoszonym obiektem XYZ i na nim wykonuj akcję ;) No wiem że tak trzeba zrobić ale nie wiem jak. Korzystanie z other też mi nie przyniosło efektów. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 6 Listopada 2008 Udostępnij Opublikowano 6 Listopada 2008 GML (STEP dla XYZ) if ( place_meeting( x , y , obj_abc )) image_blend = c_red else image_blend = c_white powinno działać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 6 Listopada 2008 Udostępnij Opublikowano 6 Listopada 2008 heh, sposobów jest kilka np: GML if mouse_check_button(mb_left) { migajacy=instance_nearest(x,y,ABC) if place_meeting(x,y,migajacy) { //zmiana koloru obiektu 'migajacy' } } Coś takiego, w sumie można i lepiej, ale tak też powinno działac E: heh, Marku, jakiś ja mało pomysłowy dzisiaj;/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 6 Listopada 2008 Udostępnij Opublikowano 6 Listopada 2008 heh. pewnie, ze lepiej jest wykonywać akcję z instancji, która ma być zmieniana, Napisałem odwrotnie niż Ty, Grabus. :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Grabus Opublikowano 6 Listopada 2008 Autor Udostępnij Opublikowano 6 Listopada 2008 GML (STEP dla XYZ) if ( place_meeting( x , y , obj_abc )) image_blend = c_red else image_blend = c_white powinno działać. Ten sposób zawiedzie. Właśnie na początku tak zrobiłem, ale wystąpi to co opisałem na początku. Obiekty XYZ, na ktorych leży nieprzenoszony ABC też zmienią kolor. heh, sposobów jest kilka np: GML if mouse_check_button(mb_left) { migajacy=instance_nearest(x,y,ABC) if place_meeting(x,y,migajacy) { //zmiana koloru obiektu 'migajacy' } } Coś takiego, w sumie można i lepiej, ale tak też powinno działac Ten kod umieścić w Step XYZ? Bo jeśli tak to ten sam efekt co pare linijek wyżej... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 6 Listopada 2008 Udostępnij Opublikowano 6 Listopada 2008 A używasz draw_sprite w obiektach ? Bo jeżeli tak to wszystko dla mnie jasne :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Grabus Opublikowano 6 Listopada 2008 Autor Udostępnij Opublikowano 6 Listopada 2008 Nie. Korzystam imege_single sprite_XYZ ma 2 subimages Chodzi mi by dzialalo tak: GML if (mój_efekt==true) {image_single=0;} //biały if (mój_efekt==false) {image_single=1;}//czarny Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 6 Listopada 2008 Udostępnij Opublikowano 6 Listopada 2008 kurcze! weź sobie uprość i zrób: GML image_index = ! moj_efektpamiętaj, ze zmienne nie mogą zawierać polskich znaków.! ;) Co do powyższego... Kłamiesz! działa. przenoszenie.gm6 ;) E: A używasz draw_sprite w obiektach ? Bo jeżeli tak to wszystko dla mnie jasne :) nie koniecznie. Bo ja ma ustawioną maskę to my rybka czy rysuje sprita :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Grabus Opublikowano 7 Listopada 2008 Autor Udostępnij Opublikowano 7 Listopada 2008 Potrzebny mi taki efekt: Chcem by podczas kolizji z obiektu ABC (gdy jest przenoszony myszką) To objekt ABC ma być przenoszony (ten większy). E: A o polskich znakach to dla mnie oczywiste. Nazwa zmiennej w kodzie podanym prze ze mnie powyżej miała tylko mówić o co mi chodzi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 7 Listopada 2008 Udostępnij Opublikowano 7 Listopada 2008 to sobie zamień sprajty :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Grabus Opublikowano 7 Listopada 2008 Autor Udostępnij Opublikowano 7 Listopada 2008 Zamienienie sprite nic nie da bo ma być przemieszczany ABC a kolor zmieniać XYZ. Jak zamienie w tym przykładzie sprite to przemieszczał bedzie sie ABC i kolory tez bedzie zmieniał ABC. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 7 Listopada 2008 Udostępnij Opublikowano 7 Listopada 2008 no to przecież xyz zmienia kolor przy kolizji z abc. Chyba o to Ci chodziło. potraktuj to przenoszenie myszką jako dodatek i dodaj je sobie do abc. Kurcze, zacznij też pracować sam. Rozwiązałem Twój główny problem, więc z resztą nie powinieneś mieć problemu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Grabus Opublikowano 7 Listopada 2008 Autor Udostępnij Opublikowano 7 Listopada 2008 To co zrobiłeś jako przykład to już miałem przed stworzeniem tematu. potraktuj to przenoszenie myszką jako dodatek i dodaj je sobie do abc. No właśnie w tym problem. Nie wiem jak zrobić by obiekt XYZ gdy styka się z ABC rozpoznawał czy jest przenoszony ABC. Próbowałem też z other ale nie dawało pozytywnego rezultatu bo XYZ podczas gry styka się też z innymi objetkami oprócz ABC. Chodzi mi zeby było tak jak tutaj tylko jak przenosze ABC na XYZ i zostawie tam i zaczne podnosić drugi ABC to XYZ znajdujące się pod pierwszym znów zaczynają się "świecić". Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 7 Listopada 2008 Udostępnij Opublikowano 7 Listopada 2008 acha, chodzi o to aby te kwadraciki xyz świeciły się tylko pod przenoszonym abc? :> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Grabus Opublikowano 7 Listopada 2008 Autor Udostępnij Opublikowano 7 Listopada 2008 Chcem by podczas kolizji z obiektu ABC (gdy jest przenoszony myszką) z objektem XYZ objekt XYZ zmieniał kolor.Jak widać ;] Ale już rozwiązałem problem. Dzięki za pomoc. :thumbsup: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi