Bewegungs-Problem auf Tilemap
Übersicht

![]() |
AraneABetreff: Bewegungs-Problem auf Tilemap |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi!
Ich hab ein kleines Problem, was ide Bewegung meiner Figuren auf meiner Tilemap angeht. Und zwar tritt das Problem auf, sobald die Bewegungen nicht mehr in ganzzahligen Schritten, sondern mit Gleitkommazahlen laufen. Hab mal ein Beispiel hochgeladen, da könnt ihr sehen, was ich meine.. Es kommt zu ekligen Rucklern.... Es startet mit einer Bewegung von 2 und wenn ihr die leertaste drückt, könnt ihr zwischen 2 und 2.5 hin und her schalten... https://www.blitzforum.de/upload/file.php?id=1075 Hat jemand eine Idee, woran es liegen könnte? Schonmal vielen Dank |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde mal sagen, weil die Grafik nicht - wie in 3D - interpoliert wird, so bewegt ich dein Mänchen einmal 2 Pixel, und im nächsten Schleifendurchlauf 3 Pixel. Dadurch kommt es zu Interferenzen zwischen der 2.5er Bewegung und dem Bildschirmaufbau.
Wird die Figur beschleunigt, dann sollte der Effekt nicht mehr so stark wahrgenommen werden. |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich denke auch das es daran liegt! ODER HAST DU SCHON MAL NEN HALBEN PIXEL GESEHEN? ^^ ![]() gruß: Tank |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
AraneA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja das hab ich mir auch so gedacht..
Allerdings versteh ich nicht genau, wie du meinst das mit Beschleunigen der Figur hinzubekommen. Wenn ich meine Figur jetzt erst von 0 auf 2,5 beschleunige, dann ergibt sich das Problem doch wieder, wenn ich bei meinen 2,5 angelangt bin. Oder hab ich dein "Beschleunigen" falsch verstanden? |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja, wenn du dann am Ende wieder auf Speed=2.5 kommst und diese behälst, bleibt es das alte Problem.
Was du versuchen könntest ist, die Kamera zur Position zu interpolierend bewegen. ..Hab den alten Beitrag nicht gefunden, so der Code: [AUSKLAPPEN] Graphics 400,400,0,2
SetBuffer BackBuffer() xp#=0 yp#=0 xm#=0 ym#=0 ;Hauptschleife While Not KeyHit(1) ;Tastaturabfrage If KeyDown(203) xp=xp-2 If KeyDown(205) xp=xp+2 If KeyDown(200) yp=yp-2 If KeyDown(208) yp=yp+2 If Not KeyDown(57) xm=xm-(xm-xp)/50 ym=ym-(ym-yp)/50 End If ;Hintergrund Color 120,120,120 For q=0 To 400 Step 20 Rect 0,q-ym Mod 20,400,1 Rect q-xm Mod 20,0,1,400 Next ;Spieler Color 240,240,240 Rect 198+xp-xm,198+yp-ym,4,4,1 Flip Cls Wend End edit1: Um dir jetzt keine überschwengliche Hoffnung darüber zu geben. Das Problem tritt auch in diesem Beispiel auf, nur fällt es einem erst viel später auf... |
||
![]() |
AraneA |
![]() Antworten mit Zitat ![]() |
---|---|---|
hm ja auch nicht so das wahre...
ausserdem passt sowas eher zu rennspielen oder ähnlichem.... gibts denn sonst keine möglichkeit? wie bewegt ihr denn eure bilder? doch nicht immer in ganzzahligen scritten oder? ![]() oder gibt es eine möglichkeit die map und den spieler auf ein surface zu zeichnen und dann im 3d-modus zu rendernß bzw, ist diese variante geschwindigkeitstechnisch noch sinnvoll? |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei 2D hab ich bis jetzt noch nie kommazahlen oder so benutzt! aber trotzdem sehen meine spiele net schlecht aus:
http://www.oyla4.de/userdaten/...reen11.JPG (das is schon en bisschen Älter)^^ Meinst du z.B. auf einen Würfel das Image als Textur zeichnen, und dann die Kamera so zu positionieren, dass man nicht sieht, das das game 3D ist?^^ naja....damit könntest du natürlich gute Effekte reinbringen, und die rotation des Images wäre leichter! Die FPS könnten aber auch ein kleines bisschen sinken xD |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
AraneA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sag mal, willst du mich vera****? ![]() Auf nem Screen sieht man bei mir auch nicht, das die Bewegungen nicht sauber sind.... Und wenn du dein Spiel frame unabhängig machen willst wirst du sohl nicht um Floats herumkommen...... ![]() |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eine vernünftig angewandte Tiletechnik unter 3D dürfte nicht nur wesentlich schneller sein, sondern auch weich zu bewegen sein und Alphaanwendung etc... Also, wenn du es kannst, und nicht unbedingt ein 'Retrolook' machen willst, probier es. | ||
![]() |
AraneA |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja es war sowieso geplant das ganze in 3D zu machen...
aber ich wollte erstmal die grundsteine ohne nutzung von 3D legen... Ich denke das ändern der Grafik wird nicht so ein großes Problem sein. Aber ich möchte ersteinmal den Rest fertig bekommen, die Scriptsprache ist meiner Meinung nach zB noch nicht das einzig wahre.. muss ich mich mal n bisschen damit beschäftigen.. Ich mein, gibt es denn wirklich eine möglichkeit das so zu machen? oder soll ich die Tiles als sprites darstellen? (nicht so gut oder) geht es anders? |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Als Sprite währe es natürlich am einfachsten von 2D ins 3D zu portieren. Ich würde dieses aber nicht mit meinem Gewissen vereinbaren können, und es als Singlesurface machen. Sprites sind im übrigen recht langsam. Zwar nicht so schlimm wie in 2D aber denoch. | ||
![]() |
AraneA |
![]() Antworten mit Zitat ![]() |
---|---|---|
dann bleibt mir wohl keine andere wahl ![]() nun denn.. in den semesterferien frisch ans werk und alles nochmal umgewerkelt danke erstmal für die hilfe gruß Lennart |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Soviel umwärkeln muß man garnicht, paar Zeilen Code und gut ist. Eher nervig finde ich bei solchen Sachen das spiegeln der Y-Achse ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group