Figur kollidiert mit Tileset
Übersicht

![]() |
MoundblackBetreff: Figur kollidiert mit Tileset |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] [b]Original:[/b]
If KeyDown(208) Then endx=startx endy=starty+1 If endx > 0 And endy > 0 And endx < mapwidth And endy < mapheight Then If map(endx,endy) = 0 Then pathfinding0(endx,endy,startx,starty) EndIf EndIf If KeyDown(203) Then endx=startx-1 endy=starty If endx > 0 And endy > 0 And endx < mapwidth And endy < mapheight Then If map(endx,endy) = 0 Then pathfinding0(endx,endy,startx,starty) EndIf EndIf If KeyDown(205) Then endx=startx+1 endy=starty If endx > 0 And endy > 0 And endx < mapwidth And endy < mapheight Then If map(endx,endy) = 0 Then pathfinding0(endx,endy,startx,starty) EndIf EndIf If KeyDown(200) Then endx=startx endy=starty-1 If endx > 0 And endy > 0 And endx < mapwidth And endy < mapheight Then If map(endx,endy) = 0 Then pathfinding0(endx,endy,startx,starty) EndIf EndIf If goX*20 < (startX*20)+GoneX Then goRealX# = goRealX#-(1.0/FPS*40.0): Animfloat# = Animfloat# + (z#/FPS): Animframe = 9 + (Animfloat#/4) If goX*20 > (startX*20)+GoneX Then goRealX# = goRealX#+(1.0/FPS*40.0): Animfloat# = Animfloat# + (z#/FPS): Animframe = 3 + (Animfloat#/4) If goY*20 < (startY*20)+GoneY Then goRealY# = goRealY#-(1.0/FPS*40.0): Animfloat# = Animfloat# + (z#/FPS): Animframe = 0 + (Animfloat#/4) If goY*20 > (startY*20)+GoneY Then goRealY# = goRealY#+(1.0/FPS*40.0): Animfloat# = Animfloat# + (z#/FPS): Animframe = 6 + (Animfloat#/4) goneX = goRealX# goneY = goRealY# If goneX >=20 Then StartX = StartX+1:goRealX# = 0:gonex=0 If goneY >=20 Then StartY = StartY+1:goRealY# = 0:goney=0 If goneX <=-20 Then StartX = StartX-1:goRealX# = 0:gonex=0 If goneY <=-20 Then StartY = StartY-1:goRealY# = 0:goney=0 If Int(Animfloat#) >= 9 Then z# = -40 ElseIf Int(Animfloat#) = 0 Then z# = 40 ElseIf Int(Animfloat#) <= 2 Then z# = 40 EndIf If layer\name$ = "Player" Then DrawImage spieler_img,(startx*20)+posx+gonex-map_scrollx,(starty*20)+posy+goney-mapscrolly EndIf [b]geändert:[/b] If KeyDown(200) Then x#= x# + Cos(w) y# = y# +Sin(w) x#= endx y#= endy If endx > 0 And endy > 0 And endx < mapwidth And endy < mapheight Then If map(endx,endy) = 0 Then pathfinding0(endx,endy,startx,starty) EndIf If KeyDown(205) Then W= W + 1 If KeyDown(203) Then W = W - 1 If W < 0 Then W = 360 If W > 360 Then W= 0 If goX*20 < (startX*20)+GoneX Then goRealX# = goRealX#-(1.0/FPS*40.0) If goX*20 > (startX*20)+GoneX Then goRealX# = goRealX#+(1.0/FPS*40.0) If goY*20 < (startY*20)+GoneY Then goRealY# = goRealY#-(1.0/FPS*40.0) If goY*20 > (startY*20)+GoneY Then goRealY# = goRealY#+(1.0/FPS*40.0) goneX = goRealX# goneY = goRealY# If goneX >=20 Then StartX = StartX+1:goRealX# = 0:gonex=0 If goneY >=20 Then StartY = StartY+1:goRealY# = 0:goney=0 If goneX <=-20 Then StartX = StartX-1:goRealX# = 0:gonex=0 If goneY <=-20 Then StartY = StartY-1:goRealY# = 0:goney=0 EndIf If layer\name$ = "Player" Then DrawImage spieler(w),x#+posx+gonex-map_scrollx,y#+posy+goney-mapscrolly EndIf so beim original läuft meine figur ja auf tiles und kollidiert dann mit anderen tiles, auf denen meine figur nicht laufen kann, das klappt ja auch super. ![]() Beim geänderten sieht das schon anders aus, meine Figur dreht sich und soll nicht gleichmäßig mit den Tiles laufen, meine Figur soll laufen wie sie soll, aber wenn sie gegen eine Mauer läuft, überläuft sie die einfach obwohl sie eigentlich mit ihnen kollidieren soll, das ja beim Original super klappt. Es wäre eine große Hilfe für mich wenn ihr mir helfen könntet. Ich glaube Jan_ würde davon am meisten verstehen, weil die mapengine von ihm ist ![]() |
||
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mal im Blindflug
Code: [AUSKLAPPEN] [b]geändert:[/b]
altx#=x# alty#=y# If KeyDown(200) Then x#= x# + Cos(w) y# =y# +Sin(w) endif If KeyDown(208) Then x#= x# - Cos(w) y# =y# - Sin(w) endif If KeyDown(205) Then W= W + 1 If KeyDown(203) Then W = W - 1 If x# > 0 And y# > 0 And x# < mapwidth*32 And y# < mapheight*32 Then If not(map(x#/32,y#/32) = 0) Then x# = altx# y# = alty# endif EndIf If layer\name$ = "Player" Then DrawImage spieler(w),x#-map_scrollx,y#-mapscrolly EndIf |
||
between angels and insects |
![]() |
Moundblack |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich habe eine mauer um mein tileset gezeichnet, auf die meine figur läuft. Die Figur kolliedert mit der unteren Wand und mit der rechten Wand (alles schön und gut ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group