Gość Opublikowano 6 Sierpnia 2010 Udostępnij Opublikowano 6 Sierpnia 2010 Jak w temacie.. co mam zrobić, że po najechaniu obiektem 2 na 1 i naciśnięciu klawisza ENTER lub Z obiekt 1 zostanie zaznaczony. Jeśli nie sprecyzowałem wystarczająco to upomnijcie mnie.. z góry dzięki ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
uzu13 Opublikowano 6 Sierpnia 2010 Udostępnij Opublikowano 6 Sierpnia 2010 W kolizji obiektu 2 z 1 daj kod GML if keyboard_check_pressed ( vk_enter ) { // kod na twoje "zaznaczenie" } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 6 Sierpnia 2010 Udostępnij Opublikowano 6 Sierpnia 2010 Albo w step: GML (STEP) if (place_meeting(x, y, obj1)) { if (keyboard_check_pressed(vk_enter) or keyboard_check_pressed(ord("Z"))) { // zaznaczenie } } Poprawka ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 6 Sierpnia 2010 Udostępnij Opublikowano 6 Sierpnia 2010 Hmm.. zaraz powiem czy działa.. ale wpierw.. może mi ktoś podać komendę w GML na Change Sprite? :/ E.w. czy mogę wykorzystać sprite_index? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 6 Sierpnia 2010 Udostępnij Opublikowano 6 Sierpnia 2010 Tak, sprite_index zmienia Ci sprite'a: GML sprite_index=nazwa_sprite; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 6 Sierpnia 2010 Udostępnij Opublikowano 6 Sierpnia 2010 Już prawie ok.. ale zmienia mi się grafika object 2.. i do tego skacze parę pól w tył :/ GML if (place_meeting(x, y, hero)) { if (keyboard_check_pressed(vk_enter) or keyboard_check_pressed(ord("Z"))) { object_exists(hero) sprite_index = sprite11; } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 6 Sierpnia 2010 Udostępnij Opublikowano 6 Sierpnia 2010 W którym obiekcie masz ten kod? I co oznacza: i do tego skacze parę pól w tył :/? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 6 Sierpnia 2010 Udostępnij Opublikowano 6 Sierpnia 2010 Kod mam w object 2(wskaźniku), a "skacze" chodzi mi o to, że jak najadę na object 1 i nacisnę enter/z to zmienia się grafika object 2 i ten sam obiekt przesuwa się natychmiast parę kratek w tył. @EDIT Może to być spowodowane przez źle ustawione Origin w sprite.. ale nawet tego nie umiem dobrze nastawić, bo grafika i tak ustawia się inaczej. Jeśli ktoś chce, to mogę wrzucić projekt. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 6 Sierpnia 2010 Udostępnij Opublikowano 6 Sierpnia 2010 Chcesz zamienić graficzkę obj 1, gdy obj 2 najedzie na niego i klikniesz jakiś klawisz. Kod wrzuciłeś do obj 2. To pierwszy błąd. Kod który napisałeś odnosi się do obiektu 2. Obj 2 sam sobie zamienia sprite. Jeżeli chcesz aby kod ten był w obj 2, to musisz potem odwoływać się do obj 1 (np za pomocą with(obj 1), albo za pomocą id) Zastanawiam się po co użyłeś object_exists(hero). Chyba, że hero może zniknąć z mapy. A co do skoku w tył. Możliwe, że w innej części kodu (niezwiązanej z tą akcją) masz fragment, który powoduje przesunięcie obj 2. Albo to co napisałeś. Wina leży w źle dobranym origin. Najlepiej jest jak wszystkie grafiki obiektu mają jednakowe rozmiary i wycentrowany origin. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 6 Sierpnia 2010 Udostępnij Opublikowano 6 Sierpnia 2010 Gra jest w stylu izometrycznym, wszystkie sprity są takiego samego rozmiaru(dla jednej postaci, wskaźnik ma już inne rozmiary). object_exists(hero) użyłem, gdyż myślałem, że tym odwołam się właśnie do tego obiektu. Skacze na 100% przez origins, bo nie mam żadnego kodu, który może przesuwać mi wskaźnik. Wrzuciłem kod do obiektu 1, najeżdżam obiektem 2, klikam enter... i nic. Czy muszę ustawić jakąś zmienną dla place_meeting x,y? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 6 Sierpnia 2010 Udostępnij Opublikowano 6 Sierpnia 2010 Wpisując samo x i y odwołujesz się do położenia obj. Chyba, że jest w with (obj_jakis){ o tutaj }. Wtedy to x i y dotyczy obj_jakis, mimo, że kod napisany jest w innym obj. Jako ostatni argument wpisujesz obiekt, z którym obj 1 mając kolizję wykonuje akcję. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Assassin Opublikowano 6 Sierpnia 2010 Udostępnij Opublikowano 6 Sierpnia 2010 GML if place_meeting(x,y,hero) //jesli wskaznik koliduje z hero { if keyboard_check_pressed(vk_enter) or keyboard_check_pressed(ord('Z')) //jesli wcisnieto enter lub 'Z' { with (hero) sprite_index=sprite1 //w hero zmien sprite na jakistam //i costam jeszcze mozna dodac } } W step wskaźnika. https://gmclan.org/up5908_12_blablabla.html 666 postów :* Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 6 Sierpnia 2010 Udostępnij Opublikowano 6 Sierpnia 2010 Ha! Działa! Dzięki wielkie za pomoc! :) Jeszcze tylko jedno pytanie.. jak zmienić szybkość animacji? xd Za każdym razem zapominam gdzie się to zmienia.. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 6 Sierpnia 2010 Udostępnij Opublikowano 6 Sierpnia 2010 Za pomocą: GML image_speed=xxxxx; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 6 Sierpnia 2010 Udostępnij Opublikowano 6 Sierpnia 2010 Ok, wszystko jak na razie działa, dzięki ;) 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ę