odex Opublikowano 7 Stycznia 2014 Udostępnij Opublikowano 7 Stycznia 2014 Po pierwsze witam. Po drugie zapewne gdzieś już na forum istnieje rozwiązanie tego problemu ale nie mogłem tego znaleźć wpisując różne kombinacje słów więc z góry przepraszam w razie czego. Po trzecie do rzeczy: Od jakiegoś czasu robię grę, głównie dla siebie na rozgrzanie własnych komórek, bo proces od pomysłu do wykonania nie wiedząc nic o programowaniu jest naprawdę ciekawe. W każdym razie tej kwestii nie potrafię rozgryźć od dłuższego czasu. Moja gra skupia się na bardzo dużej ilości roomów i przechodzenia między nimi. Problem jest taki, że jeśli trzymam np PRAWO i wpadam w obiekt przenoszący mnie do innego roomu chciałbym by moja postać dalej kontynuowała ruch w prawo w nowym roomie bez konieczności puszczania przycisku PRAWO. Kombinowałem już w najróżniejszymi metodami, z wszystkimi praktycznie kodami z działu keyboard i nic. Jakby ktoś mógł podrzucić rozwiązanie to byłbym wielce wdzięczny. Z góry dzięki za pomoc! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 7 Stycznia 2014 Udostępnij Opublikowano 7 Stycznia 2014 keyboard_check() lub keyboard_check_direct() w stepie gracza. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cordoba Opublikowano 7 Stycznia 2014 Udostępnij Opublikowano 7 Stycznia 2014 Wystarczy tylko w obiekcie (w tym który ma poruszać się w prawo) zaznaczyć persistent. Opcja ta znajduję po otworzeniu obiektu po lewej stonie tuż pod "Depth" Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 7 Stycznia 2014 Udostępnij Opublikowano 7 Stycznia 2014 radzę omijać wszelkie persistent - został on źle zdizajnowany i powoduje wiele komplikacji. nie ma co psuc sobie nerwow do tak prostego problemu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Amaterasu Opublikowano 8 Stycznia 2014 Udostępnij Opublikowano 8 Stycznia 2014 Zakładam, że Twój ruch odbywa się na zasadzie "Key Press [button]"/"Key Release [button]" + "Step". Jeżeli tak jest, to prawdopodobnie masz tam pewną zmienną sterującą, od której zależy, czy Twoja postać się porusza. Np. "moving = 1", "if(moving == 1) speed = 4" itp. Taki problem jest do rozwiązania, należy każde "moving" zamienić na "global.moving", zaś w zakładce "Creation code" pierwszego rooma (czyli tego, z którego zaczynasz grę) wpisać linijkę: GML if(variable_global_exists("moving") == false) global.moving = 0 Sprawi ona, iż gra zarejestruje zmienną globalną do pamięci, czyli będzie dostępna zawsze, dla każdego obiektu, do końca gry. W tym przypadku interesuje nas tylko, aby była dostępna dla głównej postaci, ale w każdym roomie, co właśnie osiągnęliśmy. Jeżeli ruch tej postaci napisałeś w inny sposób niż podejrzewam, to można się tym kodem co najwyżej podetrzeć : ( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Opisek Opublikowano 8 Stycznia 2014 Udostępnij Opublikowano 8 Stycznia 2014 Jeśli nie masz odpowiedzi to się udzielę. Create: GML prawo = false; lewo = false; Kliknięcie w prawo: GML prawo = true; Kliknięcie w lewo: GML lewo = true; Puszczenie w prawo: GML prawo = false; Puszczenie w lewo: GML lewo = false; Step: GML if prawo == true {alarm[1] = 1; prawo = false;} else {alarm[3] = 1} if lewo == true {alarm[2] = 1; lewo = false'} else {alarm[3] = 1}</span></span> Alarm 1: Bloczek Move Fixed = Prawa strzałka i prędkość Alarm 2: Bloczek Move Fixed = Lewa strzałka i prędkość Alarm 3: Bloczek Move Fixed = Bloczek między wszystkimi strzałkami, czyli stop Ok odpowiedź na górze jest extra! Lepsza od tej. @up Ej to nie fair! Ciągle mnie uprzedzasz w odpowiedziach :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
asdfMaciej Opublikowano 8 Stycznia 2014 Udostępnij Opublikowano 8 Stycznia 2014 [...] Step: GML if prawo == true {alarm[1] = 1; prawo = false;} else {alarm[3] = 1} if lewo == true {alarm[2] = 1; lewo = false'} else {alarm[3] = 1}</span></span></span></span> [...] Błagam ciebie, nie stosuj tego wraz z resztą jego kodu :| GML kLeft = vk_left; // lewa strzałka kRight = vk_right; // prawa strzałka movementActive = false; // czy gracz się porusza if keyboard_check(kLeft) { // tutaj twoj kod poruszania w lewo, przykladowy: hspeed = -4; movementActive = true; // linijka potrzebna } if keyboard_check(kRight) { // tutaj twoj kod poruszania w prawo, przykladowy: hspeed = 4; movementActive = true; // linijka potrzebna } if movementActive == false { hspeed = 0; // neguje predkosc w wypadku braku nacisnietych klawiszy } Walnij to w stepie, i pamiętaj aby pozamieniać twój ruch w prawo/lewo na własny :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
odex Opublikowano 8 Stycznia 2014 Autor Udostępnij Opublikowano 8 Stycznia 2014 Dzięki wszystkim za pomoc :) Funkcja keyboard_check() niestety nie działa, jednak już keyboard_check_direct() działa bez problemu, co jest ironią bo to jedyna komenda chyba, której wcześniej nie próbowałem. Generalnie wiedziałem jak to zakodować, tylko nie wiedziałem, którą funkcje dokładnie użyć by działało płynnie z przejścia room-room. Dzięki jeszcze raz, jak coś się jeszcze pojawi to na pewno się przypomnę :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Opisek Opublikowano 11 Stycznia 2014 Udostępnij Opublikowano 11 Stycznia 2014 Błagam ciebie, nie stosuj tego wraz z resztą jego kodu :| GML kLeft = vk_left; // lewa strzałka kRight = vk_right; // prawa strzałka movementActive = false; // czy gracz się porusza if keyboard_check(kLeft) { // tutaj twoj kod poruszania w lewo, przykladowy: hspeed = -4; movementActive = true; // linijka potrzebna } if keyboard_check(kRight) { // tutaj twoj kod poruszania w prawo, przykladowy: hspeed = 4; movementActive = true; // linijka potrzebna } if movementActive == false { hspeed = 0; // neguje predkosc w wypadku braku nacisnietych klawiszy } Walnij to w stepie, i pamiętaj aby pozamieniać twój ruch w prawo/lewo na własny :) Widzę, że już użytkownik sobie poradził, to nie ma co zmieniać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 11 Stycznia 2014 Udostępnij Opublikowano 11 Stycznia 2014 Opisek twoje chęci się ceni, ale z Twoją wiedzą tylko zaszkodzisz innym. 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ę