Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Licznik czasu
Forum PHP.pl > Forum > PHP
kamilos809
Siemka!
Gracze w gry przeglądarkowe będą wiedzieć o co mi chodzi... Problem jest taki, że jak są w takich grach liczniki "ile do zbudowania" lub coś, odliczają czas od danej godziny do jakiejś godziny. Ale szkopuł jest w tym, że umiem stworzyć coś takiego, żeby pokazywało to za każdym odświeżeniem...
Czyli za każdym odświeżeniem sprawdza o ile jest mniejsza obecna godzina od tej w bazie i takową pokazuje. A mnie interesuje wykonanie bez odświeżania...
pewnie to nie ten dział, ale jak coś to mili moderatorzy przeniosą wink.gif
Sephirus
Zapoznaj się z czymś co się nazywa zadanie CRON wink.gif (harmonogram) na wstępie.

Akurat w grach przeglądarkowych to problem nieco bardziej skomplikowany ale to jest podstawa. smile.gif
kamilos809
Cron... o ile dobrze pamiętam... to było cykliczne wykonanie zadań o określonej dacie i czasie. Co mija się z moim pytaniem...
Chodzi mi o wizualną część. Że jak gość odświeży, to dogra się do bazy, ale zacznie liczyć na podstawie minutnika czy cos w tym stylu
Sephirus
Hmm... To nie do końca Cię rozumiem z tym odświeżaniem... Chodzi Ci po prostu o to by bez odświeżania strony sprawdzić czas i go wyświetlić? To zwykły AJAX.
kamilos809
Czas do określonej godziny wyczytanej z bazy tak dokładnie
Sephirus
W większości gier działa to tak:

Po wejściu wczytywane są te czasy i leci sobie licznik JS, który "pamięta" kiedy coś się ma skończyć. Co jakiś czas idzie AJAX do serwera w celu synchronizacji i sprawdzenia czy nie czeka coś nowego. Po upływie czasu "budowy" idzie ajax sprawdzający tą budowę, czy się udało itd i odpowiednio w odpowiedzi dostaje info co ma gdzie zmienić i tak dalej... nic w tym trudnego wink.gif
kamilos809
A mógłbyś jakiś przykład? bo z Ajaxem nie mam do czynienia wcale, a w JS niewiele potrafię... ledwo wyczytać datę i godzinę, żadnych operacji... :/
Kshyhoo
Coś w stylu:
[JAVASCRIPT] pobierz, plaintext
  1. <script type="text/javascript">
  2.  
  3. function liczCzas(tid,ile) {
  4.  
  5. godzin = Math.floor(ile / 3600);
  6. minut = Math.floor((ile - godzin * 3600) / 60);
  7. sekund = ile - minut * 60 - godzin * 3600;
  8. if (godzin < 10){ godzin = "0"+ godzin; }
  9. if (minut < 10){ minut = "0" + minut; }
  10. if (sekund < 10){ sekund = "0" + sekund; }
  11.  
  12. if (ile >= 0) {
  13. ile--;
  14. document.getElementById(tid).innerHTML = godzin + ':' + minut + ':' + sekund;
  15. setTimeout("liczCzas('"+tid+"',"+ile+" )", 1000);
  16. } else {
  17. document.location.href = "?go=<?php echo $link ?>";
  18. }
  19. }
  20.  
  21. </script>
[JAVASCRIPT] pobierz, plaintext
Sephirus
hmmm przykład... jeżeli kiepsko u Ciebie z JS i AJAX to przykład Ci za dużo nie da najpierw musisz nieco poznać JS'a (chociaż odrobinę) wziąć gotowego AJAX'a z jQuery albo podobnych i zobaczyć jak to w ogóle działa.
kamilos809
Sephirus, wierz mi, że z przykładów da się wiele wyciągnąć. Ja analizuję przykłady i wyciągam z nich wiedzę. Łatwo powiedzieć naucz się tego i tego... ale w końcu łatwiej zrozumieć coś na jakimś pierwowzorze wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.