Wojo Opublikowano 28 Stycznia 2010 Udostępnij Opublikowano 28 Stycznia 2010 Witam mam pytanie jak zrobić Odliczanie od 0:0:0 do nieskończoności realnym czasie ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 28 Stycznia 2010 Udostępnij Opublikowano 28 Stycznia 2010 [create] GML (create) global.old_godzina=current_hour //ustawiamy poczatkowa godzine... global.old_minuta=current_minute //...minute... global.old_sekunda=current_second//...sekunde</span></span> [step] GML (step) global.cur_godzina=current_hour//aktualizujemy obecna godzine... global.cur_minuta=current_minute//...minute... global.cur_sekunda=current_second//...sekunde. global.godzina=global.cur_godzina-global.old_godzina//ustawiamy czas grania w godzinach... global.minuta=global.cur_minuta-global.old_minuta//...minutach... global.sekunda=global.cur_sekunda-global.old_sekunda//...sekundach</span> [draw] GML (draw) draw_text(x,y,"Czas gry:"+string(global.godzina)+":"+string(global.minuta)+":"+string(global.sekunda))//wyswietlamy na ekranie czas</span></span> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mipo57 Opublikowano 28 Stycznia 2010 Udostępnij Opublikowano 28 Stycznia 2010 https://gmclan.org/up6058_12_zegar.html Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 28 Stycznia 2010 Udostępnij Opublikowano 28 Stycznia 2010 Nie zalecam powyższego ze względu na zawodne wykorzystanie room_speed. W powyższy sposób jeśli gra zacznie się ciąć i działać na 50% prędkości poprzez cięcie się to zakończy się to na tym że sekunda zajmie dwie sekundy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mipo57 Opublikowano 28 Stycznia 2010 Udostępnij Opublikowano 28 Stycznia 2010 no o tym nie pomyślałem :huh: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 28 Stycznia 2010 Udostępnij Opublikowano 28 Stycznia 2010 Przepraszam za mój kod, jest wadliwy. Po pierwsze jeśli rozpoczęło odliczać w 25 sekundzie minuty to gdy zostanie 25 sekund do konca minuty to bedzie pisalo -25, -24 Rowniez zauwazylem ze ywwalany jest blad. Oto poprawiona wersja: Create: GML (create) global.old_godzina=current_hour //ustawiamy poczatkowa godzine... global.old_minuta=current_minute //...minute... global.old_sekunda=current_second//...sekunde global.cur_godzina=current_hour//aktualizujemy obecna godzine... global.cur_minuta=current_minute//...minute... global.cur_sekunda=current_second//...sekunde. global.godzina=0 //ustawiamy godzine by nie wywalilo bledu global.minuta=0 //to samo global.sekunda=0//itd</span> Step: GML (step) global.cur_godzina=current_hour//aktualizujemy obecna godzine... global.cur_minuta=current_minute//...minute... global.cur_sekunda=current_second//...sekunde. if global.cur_sekunda != global.old_sekunda //jesli zaktualizowana sekunda jest inna od poprzednio znanej... { //...to znaczy ze zmienil sie czas o sekunde global.old_sekunda=global.cur_sekunda //wiec aktualizujemy poprzednia sekunde global.sekunda+=1 //a w naszym liczniku ja dodajemy } if global.sekunda=60 { global.sekunda=0 //jak juz zrobilo pelna minute to trzeba zaktualizowac global.minuta+=1//i dodac minute;) } if global.minuta=60 { global.minuta=0 //jak juz zrobilo pelna godzine to trzeba zaktualizowac global.godzina+=1//i dodac godzine } Draw: GML (draw) draw_text(x,y,"Czas gry:"+string(global.godzina)+":"+string(global.minuta)+":"+string(global.sekunda))//wyswietlamy na ekranie czas</span> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 28 Stycznia 2010 Udostępnij Opublikowano 28 Stycznia 2010 Pojechałeś po bandzie Vader... GML //Create tStart = current_time; //Step tSec = (current_time - tstart) div 1000; tMin = (current_time - tstart) div 60000; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 28 Stycznia 2010 Udostępnij Opublikowano 28 Stycznia 2010 No cóż, programowanie polega na szukaniu łatwiejszych opcji wykonania czegoś(bynajmniej po części)... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
WilkAss Opublikowano 28 Stycznia 2010 Udostępnij Opublikowano 28 Stycznia 2010 ehhh...nie lepiej na alarmach? ;D GML //create godzina=0 minuta=0 sekunda=0 alarm[0]=10 //alarm[0] sekunda+=1 alarm[0]=10 //step if sekunda=61 { sekunda=0 minuta+=1 } if minuta=61 { minuta=0 godzina+=1 } I to chyba by było na tyle ;D E: jednak alarm[0]=20 ;D Zależy od room speed ;p trzeba dopasować ;] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 28 Stycznia 2010 Udostępnij Opublikowano 28 Stycznia 2010 wilkASS - Twoje rozwiązanie będzie działało tylko w przypadku uruchomionego programu. Ale to nie ważne, od kiedy to sekunda trwa 10 stepów? :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
WilkAss Opublikowano 28 Stycznia 2010 Udostępnij Opublikowano 28 Stycznia 2010 heh trzeba dopasować xD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 28 Stycznia 2010 Udostępnij Opublikowano 28 Stycznia 2010 dlatego korzysta wię z room_speed*ilość_sekund, wtedy nie trzeba nic dopasowywać Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
WilkAss Opublikowano 28 Stycznia 2010 Udostępnij Opublikowano 28 Stycznia 2010 GML //create godzina=0 minuta=0 sekunda=0 alarm[0]=1*room_speed //alarm[0] sekunda+=1 alarm[0]=1*room_speed //step if sekunda=61 { sekunda=0 minuta+=1 } if minuta=61 { minuta=0 godzina+=1 } //draw draw_text(x,y,string(godzina)+":"+string(minuta)+":"+string(sekunda)) Lepiej? xD Sie przyczepił jeden no! xDD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mipo57 Opublikowano 28 Stycznia 2010 Udostępnij Opublikowano 28 Stycznia 2010 dałem to kilka postów wyżej i przeczytaj dlaczego ten sposób nie jest za dobry Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
WilkAss Opublikowano 28 Stycznia 2010 Udostępnij Opublikowano 28 Stycznia 2010 Aha :D Mulić będzie :D No można się było domyślić ;D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 28 Stycznia 2010 Udostępnij Opublikowano 28 Stycznia 2010 Źle- nie tyle będzie mulić co jeśli zamuli to będzie załamanie czasoprzestrzenne O_o. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 28 Stycznia 2010 Udostępnij Opublikowano 28 Stycznia 2010 WilkAss -_- uczyłeś się ile minut ma godzina, a sekund minuta? 60. A ty ile dałeś w kodzie? 61. Policz sobie od 0 do 60 ile to liczb. Nawet na zegarku widać, że nie ma praktycznie czegoś takiego jak 60. sekunda, czy minuta. Po 59-ciu jest już zmiana. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mipo57 Opublikowano 28 Stycznia 2010 Udostępnij Opublikowano 28 Stycznia 2010 z drugiej strony ten sposób będzie lepszy jeśli chcesz wysłać swój czas do rankingu bo w tym 2 sposobie jeśli ci zamula i jesteś graczem pro to dostaniesz słabszy wynik od słabeusza z kompem z 5 tys. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 28 Stycznia 2010 Udostępnij Opublikowano 28 Stycznia 2010 Ludzie, błagam, nie załamujcie mnie... :( Podałem najkrótsze i najlepsze jednocześnie rozwiązanie, WilkAss wyskakuje ze zrobieniem tego samego na Alarmach ( =( ), trzy posty dyskusji o tym, że gdy room_speed będzie inny niż przewidziałeś nie będzie działało (w tym strasznie wartościowy merytorycznie post "heh trzeba dopasować xD"), następny syfiasty kod na alarmach, i jeszcze następne pięć wartościowych dla autora tematu postów. Co, że dwa działające jak należy (jedno nie zalecane do użytku, ale jednak, działa przynajmniej) rozwiązania już padły, spamujmy dalej długimi niedziałającymi skryptami. Pozwolę sobie jeszcze raz napisać to samo, bo chyba nie zauważyliście... GML //Create tStart = current_time; //Step tSec = (current_time - tstart) div 1000; tMin = (current_time - tstart) div 60000; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 29 Stycznia 2010 Udostępnij Opublikowano 29 Stycznia 2010 Widać że masz ego i jesteś pałą. Mój kod działa więc nie mów że "nie zalecane do użytku, ale jednak, działa przynajmniej". Rozumiem, twoje krótsze, ale moje też poprawne. Jesteś pałą i tyle. A ty za to jesteś ludzikiem z 8 warnami. Też ładnie :) Platyna 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ę