| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Haaajmo Bosno!!! Registriert seit: Aug 2001 Ort: Bihać
Beiträge: 692
| Physik ubertragen?
Hallo, ich versuche ein Klon von HaxBall zu erstellen (mit p2p). http://elearn72.net63.net/test.swf Öffnet die SWF in 2 Fenstern, dann versucht mit Pfeiltasten zu steuern. DAs Problem ist, dass ich die Physik nicht richtig kopieren kann (ich verwende Box2D). Ich habe Physik in allen Clients, vielleicht sollte ich Physik nur auf einer Seite haben? Gruss, Mirza
__________________ http://www.oreillynet.com/pub/au/3675 |
| | |
| | #2 (permalink) | |
| in the boondocks Registriert seit: Feb 2006 Ort: Augsburg
Beiträge: 3.500
| Zitat:
es sieht allerdings so aus, als würdest du gerade einfach so in gewissen zeitabständen daten austauschen, auch wenn gar nichts passiert. ist das richtig? wenn ja, dann mach das lieber nur zu bestimmten events. bei keydown und wenn der ball getroffen wird. alles andere ist ja doch uninteressant. dann solltest du noch versuchen den ping zu ermitteln und timecodes mitschicken um die wahrscheinlichkeit zu erhöhen, die richtige entscheidung zu treffen. mfg sx edit: jetzt hab ich s nochmal probiert ... is ja schlimmer als ich dachte ![]() verschick folgendes: spieler: - position - keyevents - timecode ball: - position - winkel - geschwindigkeit - timecode du darfst dann aber nicht einfach nur die position setzen, sondern musst eben alles berücksichtigen und die neue position in abhängigkeit der bereits seit dem senden vergangenen zeit (ping) festlegen. btw. auch beim spieler, bei dem die geschwindigkeit konstant ist, musst du das machen. du kannst hier nicht jedes frame sagen x += 10! denn auf einem anderen rechner läuft die 25 fps swf vielleicht nur mit 23 fps. alles hängt von der zeit ab. edit2: du kannst sogar noch weitergehen und den ping auf die "eigenen" aktionen draufschlagen und damit die steuerung ein wenig verzögern um die synchronität zu erhöhen. das sind nur so meine gedanken dazu, aber manchmal denk ich es macht tatsächlich sinn, was ich mir so aus dem hirn pule Geändert von shin10 (29-03-2011 um 18:00 Uhr) | |
| | |
| | #3 (permalink) | |
| Haaajmo Bosno!!! Registriert seit: Aug 2001 Ort: Bihać
Beiträge: 692
|
danke aber: Zitat:
frame-unabhängig ist... das mit dem TimeCode geht mir nicht in den Kopf...kurze erklärung? Gruss, Mirza
__________________ http://www.oreillynet.com/pub/au/3675 | |
| | |
| | #4 (permalink) |
| Haaajmo Bosno!!! Registriert seit: Aug 2001 Ort: Bihać
Beiträge: 692
|
in meinem code habe ich alles was du vorgeschlagen hast, bis auf den Timecode
__________________ http://www.oreillynet.com/pub/au/3675 |
| | |
| | #5 (permalink) |
| in the boondocks Registriert seit: Feb 2006 Ort: Augsburg
Beiträge: 3.500
|
einfach mal getTimer() abfragen, dann zu spieler2 schicken, der fragt bei sich getTimer() ab und schickt beide zurück. das machst du ein paar mal sowohl von spieler1 zu spieler2 als auch umgekehrt. du kannst dann ermitteln, wie viel zeit notwendig ist, um die daten von der einen swf zur anderen zu schicken. außerdem kannst du so herausfinden, um wieviel sich getTimer() bei beiden swfs unterscheidet (ich nenn es mal timeLag). der ping kann sich natürlich im laufe der zeit ändern, timeLag ist aber letztendlich fix. wenn du jetzt eine nachricht von der anderen swf bekommst, weißt du wo was an welcher position war und vor allem wann. seither ist aber natürlich schon zeit verstrichen. du ermittelst also die seither verstrichene zeit unter berücksichtigung von timeLag und damit wiederum wie weit das objekt in der zwischenzeit weitergezogen ist. vereinfacht könnte das so aussehen: PHP-Code: |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Physik | _crypto_ | Am Rande | 5 | 18-04-2007 22:34 |
| Physik problem | _crypto_ | Am Rande | 7 | 23-02-2007 09:50 |
| Polygon - physik ? | pixartist | Spielkonzepte und Spieleprogrammierung | 3 | 09-12-2006 21:30 |
| Physik - Pendel | Earcandy | ActionScript 2 | 5 | 24-11-2006 15:57 |
| Physik in Flash | schmidi | Flash MX | 3 | 17-06-2005 18:55 |