Mucco Opublikowano 14 Kwietnia 2010 Udostępnij Opublikowano 14 Kwietnia 2010 Mam, że obj_hero porusza się z speed = 10. Jak teraz dodawać np. co 5 sekund do zmiennej speed +1 ? Żeby to wyglądało na baaardzo powooolne przyspieszanie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 14 Kwietnia 2010 Udostępnij Opublikowano 14 Kwietnia 2010 Możesz do tego wykorzystać alarmy :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 14 Kwietnia 2010 Udostępnij Opublikowano 14 Kwietnia 2010 Możesz zrobić to na alarmach. GML //STEP alarm[0] = 5 * room_speed; //ALARM 0 speed += 1; @UP: Akurat posta pisałem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 14 Kwietnia 2010 Udostępnij Opublikowano 14 Kwietnia 2010 Bład. Nie może być alarm w stepie, ustaw najpierw kod GML alarm[0] = 5 * room_speed; w create, a potem w alarm0, bo gdy inicjujesz alarm w stepie, on cały czas od nowa się inicjuje i tak w kółko. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 14 Kwietnia 2010 Udostępnij Opublikowano 14 Kwietnia 2010 Fakt, mój błąd ;) Napisałem aby kod ogólnie jak powinien wyglądać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 14 Kwietnia 2010 Udostępnij Opublikowano 14 Kwietnia 2010 Bład. Nie może być alarm w stepie GML //STEP if alarm[0]<=0 alarm[0] = 5 * room_speed; //ALARM 0 speed += 1; Teraz może. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 14 Kwietnia 2010 Udostępnij Opublikowano 14 Kwietnia 2010 GML (Step) if( alarm[0] == -1 ) alarm[0] = 5 * room_speed; GML (Alarm0) speed += 1; alarm[0] = -1; Jeśli już. GML (Create) alarm[0] = 5 * room_speed; GML (Alarm0) speed += 1; alarm[0] = 5 * room_speed; To samo. EDIT Dobra, widzę, że w GM8 nie ma potrzeby ustawiania alarmu na -1 po jego wywołaniu, można zostawić w metodzie 1 samo: GML (Alarm0) speed += 1; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 14 Kwietnia 2010 Udostępnij Opublikowano 14 Kwietnia 2010 A alarm to się przypadkiem sam po wykonaniu na -1 nie ustawia :) ? Ed: Aty. I dla sprostowania, nie tylko gm8. Ed2: Rzeczywiście, jeśli alarm jest pusty to nie aktualizuje się on, chodź to w sumie dobrze. Warto wiedzieć. I dobrze napisałem, PO WYKONANIU (jeśli się wykonuje to raczej istnieje) ustawi się na -1. Chyba że znów nie zrozumiałem. ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 14 Kwietnia 2010 Udostępnij Opublikowano 14 Kwietnia 2010 Tu się mylisz. Jeśli wykorzystujesz alarmy jako liczniki i sprawdzasz ich stan bez wywołania eventu alarmu to ich stan nigdy się nie zmieni. Stąd pewnie moje przyzwyczajenie. ;) W sumie równie dobrze można wsadzić komentarz do tego zdarzenia. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
LionX Dagger Opublikowano 14 Kwietnia 2010 Udostępnij Opublikowano 14 Kwietnia 2010 Można to też tak zrobić, GML (steps) sec+=1/room_speed // albo fps if sec>=5 { speed+=1 sec=0 } ale to bardziej jako ciekawostka (taka moja mała alternatywa dla alarmu) :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 14 Kwietnia 2010 Udostępnij Opublikowano 14 Kwietnia 2010 a nie można w step: room_speed += 1/(30 * 5) to samo wyjdzie? tylko, że efekt będzie stopniowy Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 14 Kwietnia 2010 Udostępnij Opublikowano 14 Kwietnia 2010 Pamiętaj, że FPS może nie osiągnąć wartości room_speed. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 14 Kwietnia 2010 Udostępnij Opublikowano 14 Kwietnia 2010 GML speed += 1/(fps* 5) ? :D :/ co mi się u góry wzięło z tym room_speed, miało być samo speed : ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 16 Kwietnia 2010 Udostępnij Opublikowano 16 Kwietnia 2010 Możesz też tak zrobić, żeby cały czas speed dodawał się o 0.2. Czyli to tak jakby co 5 milisekund dodawał się 1 speed :] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 16 Kwietnia 2010 Udostępnij Opublikowano 16 Kwietnia 2010 domyślnie wykonuje się 30 stepów na sekundę więc jeśli ma przyspieszyć o speed=+1 w pięć sekund to: 1:(30X5)=1:150=0,0066666666666666666666666666666667(znak przybliżenia)0.0067 więc: GML (step) speed+=0.0067 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
M@ILOSZ Opublikowano 18 Kwietnia 2010 Udostępnij Opublikowano 18 Kwietnia 2010 Nie 0.0067 tylko 0,03. TheMarcQ dobrze gada. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
alwin Opublikowano 18 Kwietnia 2010 Udostępnij Opublikowano 18 Kwietnia 2010 domyślnie wykonuje się 30 stepów na sekundę więc jeśli ma przyspieszyć o speed=+1 w pięć sekund to: 1:(30X5)=1:150=0,0066666666666666666666666666666667(znak przybliżenia)0.0067 więc: GML (step)speed+=0.0067 znak przybliżenia - ≈ :thumbsup: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 19 Kwietnia 2010 Udostępnij Opublikowano 19 Kwietnia 2010 no tak, bo mój sposób wcale nie polega na tym samym... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mentoss Opublikowano 19 Kwietnia 2010 Udostępnij Opublikowano 19 Kwietnia 2010 :D:D speed+=1 w pięć sekund ?? speed+=1/5 co daje 0.2 GML speed+=0.2 daj to (jak już koledzy powiedzieli) w alarmie ustawionym w sposób: GML /* tam, gdie wywołujesz ruch */ alarm[ruszaj_sie]=1*room_speed; /* alarm[ruszaj_sie] */ alarm[ruszaj_sie]=1*room_speed; speed+=0.2; 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ę