[JavaScript] javascript count-up

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [JavaScript] javascript count-up

    hallo,
    ich bin dabei ein browser game zu programmieren.
    Das game ist soweit funktionsfähig und ich bin nun dabei es lebendiger zu machen.

    Bisher läuft alles auf php und mysql, was heißt, dass sich Werte nur ändern, wenn man eine Seite refresht.

    Was mir nun noch fehlt ist ein ganz einfacher count-up, der mir zB den Wert des credit Standes aus der mysql tabelle liest und mit dem selben multiplikator wie das bisherige php script die credits in Echtzeit und ohne refresh erhöht.

    Hab gestern schon sehr viel gesucht aber wenn man wenig ahnung von javascript hat, dann ist es schwer ein vorhandenes script auf die eigenen bedürfnisse umzuändern.

    Kennt jemand von euch ne Seite wo ich sowas herbekommen kann ?
    Oder hat jemand etwas derartiges in den Tiefen seines Dateisystemes rumliegen ?


    /edit:
    kann man eigentlich mit javascript auch ein mysql query durchführen ?
    also if countdown=0 { mysql_query .... }

    MfG
    hec

  • #2
    Du willst ja im Endeffekt ja nichts anderes als ein Script zeitlich gesteuert ausführen.
    Das Script kann ja selbst ein php-Skript sein. Dieses führst du dann in einem bestimmten Interval aus.

    Hab auch mal hier nachgefragt wie man soetwas realisieren kann:
    War eine der antworten!

    PS: Javascript an sich wird dir da auch nicht wirklich weiterhelfen - eigentlich so gar net!

    Kommentar


    • #3
      kann man eigentlich mit javascript auch ein mysql query durchführen ?
      also if countdown=0 { mysql_query .... }
      Stichwort: AJAX
      mfg

      Kommentar


      • #4
        danke für die schnelle antwort !

        Aber denke sowas ist der Falsche weg so einen countup zu realisieren ...

        hab das gleiche schon bei einem zeitlichen countdown gemacht
        (ein countdown, der seine zeit aus der benötigten zeit eines upgrades aus meiner mysql tabelle nimmt und dann runterzählt.)
        Funktioniert soweit sehr gut, wenns möglich ist würde ich da jedoch gerne noch einen mysql query am schluss einbauen.

        Dieses script rechnet jedoch im uhrensystem (60er system)
        mit meinen javascript kenntnissen hab ich zwar versucht es umzubauen, jedoch blieb mir der Erfolg dabei aus ..

        das script soll nur alle x sekunden +1 rechnen und anzeigen.
        ist dabei eine variable und wenn es möglich ist, soll es dann noch bei verlassen der seite ein mysql query ausführen und den letzten wert in die tabelle schreiben ...

        Kommentar


        • #5
          Du willst also eine Spieltechnisch relevante Variable beim Clienten berechnen lassen?
          Davon abgesehen das es ja eine schöne Möglichkeit ist etwas zu cheaten.

          Player:
          Alle sek +1 Credit? Hmm... +1000 ist doch viel angenehmer!
          Eigenes Script absetzen und fein ist.
          Zweitens geht das doch gar net auf Clientseite. Wenn kein Spieler online ist, dann würde die Berechnung nie stattfinden. Wenn viele Spieler online sind, dann läuft es nicht mehr synchron! Dann schicken viele Spieler das Signal zur Counterinkrementierung - unschön.

          Das erhöhen darf doch nur von einem "Objekt" ausgehen, damit es synchron läuft. Da man mit php selbst, aber keine Scripte zeitlich gesteuert ablaufen lassen kann, muss man zwangsläufig auf ein externes Hilfsmittel zurückgreifen. Da wäre der cronjob wohl das einfachste.
          Klar kann man sich auch ein eigenes Programm schreiben, welches ein Script in einem zeitlichen Rythmus aufruft - aber sinnlich?

          Kommentar


          • #6
            Original geschrieben von hall
            Stichwort: AJAX
            Denk das ist das, was ich brauche ...
            leider darf ich auf dem Gebiet bei 0 anfangen ..
            scheint noch nicht sehr verbreitet zu sein, da google auf dem Gebiet nur schwammige auskünfte giebt .. naja werd mir mal ne seite zum Thema AJAX programmierung durchlesen ..
            gibt es da schon codeschnippsel irgendwo ?

            @ Jesseblue
            zum thema cheaten und manipulieren ..
            das script soll ja die credits in erster linie nur anzeigen, und das, was das php script macht, das im hintergrund läuft in echtzeit wiedergeben.

            Ob man da einfach cheaten kann .. noch hats keiner der Testspieler gemacht...

            Kommentar


            • #7
              Wenn es NUR anzeigen soll, dann mach es dir doch net so schwer.

              // Ein HTML-Element mit dem Inhalt.

              window.setIntervall(countUp(),1000);

              function countUp() {
              //HTML-Element abholen, Inhalt addieren, wegschreiben;
              }
              Ich würd doch net jede Sekunde mit dem Server kommunizieren, nur um einen Counter zu aktualisieren, da lohnt der Traffic doch net führ!
              Und ehe das hier out of sync mit dem Server läuft, ist die Session eh abgelaufen.
              Bei jedem Klick auf nem Button lässt du den Inhalt dann von der Datenbank aktualisieren.

              Kommentar


              • #8
                es gibt ajax-frameworks wo man ganz einfach mit javascript auf php-funktionen zugreifen kann, z.b.

                SAJAX
                PAJAX

                mit denen beiden habe ich gute erfahrungen gemacht und nehmen einem viel programmierarbeit ab.
                mfg

                Kommentar


                • #9
                  Original geschrieben von Jesseblue
                  Wenn es NUR anzeigen soll, dann mach es dir doch net so schwer.



                  Ich würd doch net jede Sekunde mit dem Server kommunizieren, nur um einen Counter zu aktualisieren, da lohnt der Traffic doch net führ!
                  Und ehe das hier out of sync mit dem Server läuft, ist die Session eh abgelaufen.
                  Bei jedem Klick auf nem Button lässt du den Inhalt dann von der Datenbank aktualisieren.
                  So hab ich mir das auch in etwa gedacht .. das script müsste nur raufzählen können .. alles andere wäre zwar schön aber nicht nötig
                  mit deinem schnippsel komm ich jedoch auch nicht weiter
                  was meinst du mit:

                  //HTML-Element abholen, Inhalt addieren, wegschreiben;

                  ?

                  Kommentar


                  • #10
                    *nu werd ich auf der Arbeit dafür bezahlt, anderen zu helfen - also muss ja min ein Sposor link her:
                    http://www.fernuni-hagen.de/
                    *

                    z.B. HTML Teil:
                    PHP-Code:
                    <body>
                     
                    //... blabla ...
                     
                    <div id="counter">
                       
                    // mittels PHP und  SQL Abfrage den Zahleninhalt einfügen, z.b. '42'
                     
                    </div>
                     
                    //... blabla again ...
                    </body
                    JavaScript PseudoCode alle 1sec ausführen lassen (siehe vorheriges Post):
                    - auf das <div> Element "counter" zugreifen und den Inhalt auslesen.
                    - den Inhalt in eine Zahl parsen, sprich umwandeln.
                    - dann diesen Inhalt inkrementieren und wieder in das gleiche <div> schreiben.

                    Synchronität:
                    - ist net synchron, da 1s auf dem Clienten nicht unbedingt 1sec Serverzeit. Aber das ist sicherlich sowas von schnurz, da der Unterschied verdammt klein sein wird.
                    - Immer wenn der User eine Anfrage zum Server schickt, kann man den tatsächlichen Counterstand vom Server wieder abholen und aktualisieren. Wodrauf dann wieder die JavaScript-Methode startet.

                    Wenn du PhP kannst, dann wird JavaScript für dich auch kein Thema sein. Schau einfach ein bissl in der verdammt guten selfhtml.org Seite nach

                    Und wieder back to wörk.

                    Kommentar

                    Lädt...
                    X