Announcement

Collapse
No announcement yet.

Tween Probleme.. gleiche geschwindigkeit benötigt..

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Tween Probleme.. gleiche geschwindigkeit benötigt..

    Hallo ich habe in meinem aktuellen Projekt ein Problem mit Tweens, es geht hierbei um eine ClientServer basierte Anwendung (ein Multiplayer Browserspiel).. am einfachsten stellt man sich das wohl allseits bekannte Ball-Beispiel vor wo ein User einen Ball Steuert und der andere User die Bewegungen sehen kann...

    Bei meinem Projekt hat jedoch jeder User seinen eigenen Ball, wobei jeder einzelne Ball die gleiche Geschwindigkeit aufweist(aufweisen sollte) wenn dieser getweent wird...

    Problem bei der ganzen Geschichte ist das es zwei möglichkeiten gibt den Ball zu steuern,

    1) eine verkleinerte Hintergrundkarte wo man einmalig auf seine Zielkoordinaten klickt.
    2) das Spielfeld ansich wobei hier ein MouseDown event eine Flag setzt

    Punkt 1) wird über einen MoiseDown event gehandelt welcher dann eine Methode aufruft die start und endwerte ssetzt... eine zweite Methode die jedes zweite enterFrame gefeuert wird macht dann die Interpolation der Positionen... hierbei endstehen auch keine Probleme.

    Punkt 2) hier endstehen die Probleme ... anstelle nur die zwischenwerte zu Interpolieren, werden hier jedesmal aufs neue die werte gesetzt und mit eben schon besagter Methode dann ebenfalls die Tweens durchgefürt nur halt so das jedesmal neu gerechnet werden muss... hierbei ist der Ball ein kleinwenig langsamer als er sein sollte...

    Ich habe bisher gefühlte 400 verschiedene Formeln auf der Basis v=s/t durchprobiert, und bei jeder einzelnen habe ich mehr oder weniger die selben

    Abweichungen von ca. 7-8 px
    auf eine
    Animationsdauer von ca. 1 Minute
    und
    ca. 1000 px animationsstrecke

    also "nur" 1%... allerdings Multipliziert sich dieses 1% um den Factor 96 womit aus 7 px abweichung nnachher schnell 700 px abstand zwischen den Bällen werden.

    Ich habe bisher versucht...
    nicht jeden einzelenen Schritt neu zu Überschreiben sondern nur die Zielwerte zuu überschreiben samt ziel Timestamp und von der Startposition zu Rechnen, jedoch bleibt das ergebniss das selbe...

    Was für mich unbegreiflich ist, da ich ja selbst auf diese pixel entsprechend die gleiche Formel verwende Start sozusagen der gleiche wäre wie unter Punkt 1 und das Ziel liegt jeweils immer ausserhalb der errichbaren strecke des nächsten durchlaufs.

    Daher erkläre ich mir das Momentan dadurch das mehr code verarbeitet wird der das Flash ausbremst, was jedoch immer noch nicht erklärt warum bezogen auf die gesammtlaufzeit eines Tweens bei gleicher Geschwindigkeit die Strecke bei gedrückter Mousetaste berechnete Strecke geringer ist. dürfte ja eigentlich nicht sein.

    kennt einer ein ähnliches Problem und weiss evtl eine lösung?
Working...
X