Seite 1 von 1
a
Verfasst: 23.11.2008 03:31
von DenKle
a
Verfasst: 23.11.2008 13:09
von Josef Sniatecki
Echt gut und benötigt sehr wenige Zeilen. Das Problem ist, dass die Figur,
wenn sie diagonal an einem schwebenden Boden vorbeispringt, durch
geht. Die Kollision ist irgendwie nicht richtig und ehrlich gesagt: An diesem
Problem sitze ich jetzt schon seit Jahren.
Würde mich echt freuen, wenn jemand für dieses Problem ne Lösung
hätte.
Verfasst: 23.11.2008 13:39
von DenKle
a
Verfasst: 23.11.2008 13:54
von Josef Sniatecki
Kollidiert nun viel besser. Trotzdem kommt es noch zu kleinen
Überschneidungen, doch das kann man einfach als kleine Abrundung von
Böden sehen.

Verfasst: 02.12.2008 22:21
von Criss
Da war ich auch mal sehr lange dran!
Ich habe damals was gemacht, vielleicht hilft es Euch weiter...
http://www.jumpingeyes.ch/download/jnr_ ... s_v1_4.zip
Verfasst: 12.12.2008 22:02
von namenlos
Great , your code is clear.
it's based on
http://www.tonypa.pri.ee/tbw?
Do you adding slope in future ?
Verfasst: 13.12.2008 03:31
von Criss
Yes, the main structure is from Tonypa. I do not understand the slope-function, but maybe another one...

Verfasst: 13.12.2008 11:31
von namenlos
try this example:
Code: Alles auswählen
InitSprite() : InitKeyboard()
OpenScreen(640,480,32,"")
TileSize = 64
x=256
y=256
Hx=256
Hy=256
Repeat
ClearScreen(0)
ExamineKeyboard()
StartDrawing(ScreenOutput())
LineXY(x,y+TileSize,x+TileSize,y+TileSize,$FFFFFF)
LineXY(x+TileSize,y+TileSize,x+TileSize,y,$FFFFFF)
LineXY(x+TileSize,y,x,y+TileSize,$FFFFFF)
FillArea(x+TileSize-1,y+TileSize-1,$FFFFFF,$FFFFFF)
Box(Hx-16,Hy-64+64,32,64,255)
StopDrawing()
If KeyboardPushed(#PB_Key_Right)
Hx+1
EndIf
If KeyboardPushed(#PB_Key_Left)
Hx-1
EndIf
;Slope basic Detection
If Hx>256 And Hx<256+TileSize
Height = 256-Hx
Hy = Height+y ; y = tile position
EndIf
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)