Sev69 Opublikowano 22 Lipca 2010 Udostępnij Opublikowano 22 Lipca 2010 Witam,mam proste pytanie,otóż jak zapisać podczas kolizji jednego obiektu z drugim taką akcje: GML If (zmienna pierwszego obiektu)=true and (zmienna obiektu zderzonego)=true then (coś się dzieje)Aha,chce to zapisać w Stepie pierwszego obiektu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 22 Lipca 2010 Udostępnij Opublikowano 22 Lipca 2010 A nie lepiej zrobić nowy event: collision with(z drugim) i tam dać with other if(zmienna)? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Misiek999 Opublikowano 22 Lipca 2010 Udostępnij Opublikowano 22 Lipca 2010 Ale jak koniecznie step potrzebny, to : if zmienna == true and other.zmienna == true { //costam } edit : kurcze. jednak ten event co candy podał też jest potrzebny. Jak chcesz w stepie, to musisz w collision with zapisać sobie jeszcze id tego other ( czyli ten, z którym się zderza obiekt ), bo w stepie on nie działa. Czyli powyższy sposób lepszy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 22 Lipca 2010 Udostępnij Opublikowano 22 Lipca 2010 Jak w stepie to może tak: GML if(collision_()) { var a; a=collision_();// zmienna a= id obiektu z którym jest kolizja if(a.zmienna) //akcja } collision_() jakaś funkcja collision (np collision_rectangle). Dobierasz parametry i jest git. Pamiętaj tylko żeby funckje te w obydwu miejscach miały identyczne parametry. W przeciwnym razie może wyskoczyć błąd. Albo jeszcze krócej: GML if(collision_()) { if(collision_().zmienna) //akcja } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sev69 Opublikowano 22 Lipca 2010 Autor Udostępnij Opublikowano 22 Lipca 2010 Ok,przerobiłem to na event:collision i zapisałem takie coś: GML if nic==true and other.atak==true { zycie -=1 instance_create(x,y,blukrew) } ale nic się nie dzieje kiedy oba warunki są spełnione,gdzie leży błąd? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 22 Lipca 2010 Udostępnij Opublikowano 22 Lipca 2010 Te obiekty, którą biorą udział w kolizji, to jest ich dużo czy tylko po jednym? Może dałoby się to jakoś uprościć potem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sev69 Opublikowano 22 Lipca 2010 Autor Udostępnij Opublikowano 22 Lipca 2010 Tylko po jednym. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 22 Lipca 2010 Udostępnij Opublikowano 22 Lipca 2010 Jak po jednym, to możesz odwoływać się do obiektów po przez ich nazwy: GML (step pierwszego) if(place_meeting(x,y,obj_drugi)&&obj_drugi.atak&&nic) { zycie-=1; instance_create(x,y,blukrew) } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sev69 Opublikowano 22 Lipca 2010 Autor Udostępnij Opublikowano 22 Lipca 2010 Ok,tylko gdzie ja mam wpisać true albo false w tym kodzie?I ustalmy że niech to już będzie w kolizji skoro będzie tak łatwiej. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 22 Lipca 2010 Udostępnij Opublikowano 22 Lipca 2010 Wszystkie wartości dodatnie (bez zera) są true, a cała reszta są false. Przykład: GML if(moze) if(moze==true) //wszystkie powyższe funkcję sprawdzają czy wartość może jest true if(!moze) if(moze==false) //spradzają czy zmienna może jest false</span> Wywal pierwszy warunek z if, jak chcesz w event collision. Jest zbędny. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sev69 Opublikowano 22 Lipca 2010 Autor Udostępnij Opublikowano 22 Lipca 2010 No dobra,pogubiłem się,jak byłbyś tak miły i napisał już cały kod pod event collision , to był bym wdzięczny. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
waxx Opublikowano 22 Lipca 2010 Udostępnij Opublikowano 22 Lipca 2010 nie spierdalaj, sam pomysl i zrob to samemu Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Farkraj Opublikowano 22 Lipca 2010 Udostępnij Opublikowano 22 Lipca 2010 waxx ostatnio najlepiej odpowiada pytającym! +1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sev69 Opublikowano 23 Lipca 2010 Autor Udostępnij Opublikowano 23 Lipca 2010 Po co te bluzgi,jak bym sam nie próbował i by mi nie wychodziło to nie pisał bym na forum.Zapisałem to w kolizji z drugim obiektem ale nie ma efektu ,choć wydaje mi się że powinno działać. GML if nic=true and other.atak=true { zycie-=1 instance_create(x,y,blukrew) } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 23 Lipca 2010 Udostępnij Opublikowano 23 Lipca 2010 Zamień ten other. na obj_pierwszy.atak i zobacz co się stanie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sev69 Opublikowano 23 Lipca 2010 Autor Udostępnij Opublikowano 23 Lipca 2010 Próbowałem już wcześniej i brak efektu , a jestem pewny że obydwie zmienne są true w danym momencie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 23 Lipca 2010 Udostępnij Opublikowano 23 Lipca 2010 Wywal ten warunek i zobacz czy akcja się stanie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sev69 Opublikowano 23 Lipca 2010 Autor Udostępnij Opublikowano 23 Lipca 2010 Akcja działa , obiekty na pewno się zderzają bo nawet na siebie zachodzą. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 23 Lipca 2010 Udostępnij Opublikowano 23 Lipca 2010 Robisz teraz tak. Dajesz tylko pierwszy warunek. Bawisz się z nim aż w końcu zacznie działać. Następnie wklepujesz drugi i to samo. Metoda może nie zbyt wyszukana, ale nie mam pojęcie gdzie może tkwić błąd. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sev69 Opublikowano 23 Lipca 2010 Autor Udostępnij Opublikowano 23 Lipca 2010 Nareszcie po wielu zmianach i próbach zadziałało :D ,był kłopot ze zmienianiem wartości zmiennych na true ale wykryłem błąd i już działa.Dzięki za fatygę Candy.Temat do zamknięcia. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi