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. :wink:

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... :D

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)