Bewegungs-Problem auf Tilemap

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

AraneA

Betreff: Bewegungs-Problem auf Tilemap

BeitragDi, Jan 23, 2007 19:25
Antworten mit Zitat
Benutzer-Profile anzeigen
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

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Jan 23, 2007 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Jan 23, 2007 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke auch das es daran liegt! ODER HAST DU SCHON MAL NEN HALBEN PIXEL GESEHEN? ^^ Very Happy
gruß: Tank
Twitter
Download Jewel Snake!
Windows|Android

AraneA

BeitragDi, Jan 23, 2007 19:57
Antworten mit Zitat
Benutzer-Profile anzeigen
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?

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Jan 23, 2007 20:17
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Jan 23, 2007 20:31
Antworten mit Zitat
Benutzer-Profile anzeigen
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? Wink

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

BeitragDi, Jan 23, 2007 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Jan 23, 2007 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Sag mal, willst du mich vera****? Confused

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......
Rolling Eyes

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Jan 23, 2007 20:56
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Jan 23, 2007 21:02
Antworten mit Zitat
Benutzer-Profile anzeigen
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?

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Jan 23, 2007 21:12
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Jan 23, 2007 21:17
Antworten mit Zitat
Benutzer-Profile anzeigen
dann bleibt mir wohl keine andere wahl Wink

nun denn.. in den semesterferien frisch ans werk und alles nochmal umgewerkelt

danke erstmal für die hilfe
gruß Lennart

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Jan 23, 2007 21:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Soviel umwärkeln muß man garnicht, paar Zeilen Code und gut ist. Eher nervig finde ich bei solchen Sachen das spiegeln der Y-Achse Rolling Eyes und dann noch das verschieben. Geht zwar auch mit drehen der Kamera, aber das ist ja mal...

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group