![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 11.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
trapie się nad pewną sprawa. Otóż programuje małą grę przeglądarkową. W języku ajax wyświetla walke między graczem a jakimś tam stworem. Wszystko jest ok tylko że wpis do bazy (czy przeżył gracz czy potworek) jest już przed zakonczeniem tejże walki przez co gracz moze zacząć taką walke i od razu z niej wyjsc a i tak walka będzie zaliczona. W jaki sposób opóźnić działanie skryptu aż do momentu kiedy skrypt ajax wyswietli wygraną bądź przegraną gracza. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Sam sobie odpowiedziałeś, ajaxem aktualizuj wpis i zabezpiecz go dodatkowo sesją po stronie serwera (czas rozpoczęcia walki time)
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 11.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie bardzo rozumiem o co Ci chodzi.
W moim przypadku teksty wyswietlane przez ajaxa są 'dekoracja' bo skrypt php z góry zapisuje dane. Po prostu chce zeby dane zostaly zapisane wraz z zakonczeniem sie skryptu 'dekoracyjnego' ajaxa |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
To zmień jego funkcje wyłącznie z dekoracyjnej na funkcjonalną.
Chyba, że mylisz pojęcia bo to, że jakieś obrazki tam się zmieniają to wcale nie musi być ajax. -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
- rozpoczęcie walki - wysyłasz żądanie do PHP aby zapisał ową walkę(zmiany HP, itp.) do tabeli tymczasowej lub sessji ze statusem walki = 0
- na koniec walki - wysyłasz żądanie do PHP aby zapisał zmiany w prawdziwej tabeli jeżeli status walki w tabeli tymczasowej = 0 Jeżeli ktoś zakończy walkę przed czasem walka nie zostanie zapisana ps. możesz również wysyłać ajaxa podczas samej walki aby na bierząco zapisywać stan walki np. w sesji a dopiero pod koniec zapis do bazy Ten post edytował CuteOne 30.07.2012, 14:42:43 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Po co bazę mieszać skoro i tak sesja jest już w ruchu.
Wystarczy ten wynik zamiast do bazy zapisywać do sesji - dzięki temu jeżeli ktoś opuści grę nie musimy się martwić o śmieci w postaci walk ze statusem 0. Do sesji zapisujemy tylko ten time dla pewności i jak dla mnie na tyle wystarczy i jest bezpiecznie. -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Właśnie nie jest
![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
To już też troszkę zależy od koncepcji samej gry.
Może tu chodzi tylko o animacje, a nie widok konkretnej walki, skoro i tak jest z góry ustalona. Można też JSem wykryć przerwanie walki, dzięki temu zareagować i dodać np. ucieczki to jest dosyć popularną koncepcją. Autor tematu niech się wysili i poda więcej danych. -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 11.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Aktualnie wyglada to tak:
Na początku walki pobiera dane oraz wyswietla je
Tak wygląda kod który widzi potem gracz
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Kod JS nagle przeradza się w kod PHP... Magia...
Ten post edytował markonix 30.07.2012, 19:02:01 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 07:50 |