![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 2.05.2011 Ostrzeżenie: (30%) ![]() ![]() |
Mam system walki w grze, niestety wygląda to fatalnie. Gdy u gracza uruchamia się walka, od razu wyświetla wszystkie kolejki (ile on zadał dmg mobowi i ile mob mu), dzieje się to od razu.
Nie chodzi mi np. o to by co określoną liczbę sekund ładował się element z pętli odpowiadający za obliczenie wywieranego dmg na mobie - Tylko po prostu żeby co określony czas np. pół sekundy wyświetlało się echo z informacją o tym ile gracz zadał DMG mobowi / mob graczowi. W skrócie: ma to działać po stronie przeglądarki, nie serwera... samo odkrywanie "echo"... dla samego efektu. Edit, mam już to: Kod <script type="text/javascript"> function display() { document.getElementById("graczatak").innerHTML += ""; } window.setInterval(display, 1000);</script> </script> i potem w kodzie mma tak: echo "<div id='graczatak'> + Zadałeś przeciwnikowi <font color = '#7ffa88'>".$dam."</i></font> DMG<br></div>"; niestety nie pojawia mi się te echo w odstępach czasowych mimo poprawności kodu, dodam że te echo jest w pętli while, to może być tego przyczyną ? cały kod wygląda tak: Kod $bonus = floor($oGracz['atak'] / $potwor['obrona']); if($bonus > 2) $bonus = 2; $oGracz['omin'] = floor($oGracz['omin'] * $bonus); $oGracz['omax'] = floor($oGracz['omax'] * $bonus); $bonus = floor($potwor['atak'] / $oGracz['obrona']); if($bonus > 2) $bonus = 2; $potwor['omin'] = floor($potwor['omin'] * $bonus); $potwor['omax'] = floor($potwor['omax'] * $bonus); while(($oGracz['zycie'] > 0) && ($potwor['zycie'] > 0)){ $czas ++; $dam =rand($oGracz['omin'],$oGracz['omax']) - $potwor['absorpcja']; if($dam < 1) $dam = 1; $potwor['zycie'] -=$dam; echo "<div id='graczatak'> + Zadałeś przeciwnikowi <font color = '#7ffa88'>".$dam."</i></font> DMG<br></div>"; co w tym powoduje to że nie wyświetla danego echa w odstępach czasowych ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
odnośnie odpowiedniej struktury html - co było by lepsze jeśli gra nie wymaga JavaScript do grywalności a sam JS jest tylko dodatkiem, to miałem na myśli np. coś w stylu:
Kod <div id="komunikaty"> <div class="komunikat">jakiś tam pierwszy komunikat</div> <div class="komunikat">drugi komunikat</div> <div class="komunikat">....</div> <div class="komunikat">enty komunikat</div> </div> <script type="text/javascript"> // przy odpowiedniej strukturze html'a nic nie musiałeś zmieniać tylko wystarczyło dołożyć skrypt js ukrywający wszystko a potem po kolei pokazujący komunikaty /* i tutaj skrypt chowający wszystkie komunikaty przed użytkownikiem (wszystkie div'y o klasie "komunikat") po czym wyświetlający po kolei te div'y - wystarczyło im na początku ustawić w js np. visibility:hidden; [dokładnie nazwy nie jestem pewien;p] po czym po kolei przełączać na visible; */ </script> zaletą tego rozwiązania jest to, iż gdy użytkownik miałby wyłączony JavaScript to też zobaczy komunikaty z walki tyle, że od razu... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 07:56 |