meine figur bleibt in der plattform stecken

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • meine figur bleibt in der plattform stecken

    hallo erstmal,
    ich hab ein problem mit dem code:

    GML-Quellcode

    1. bottom=0
    2. if place_meeting(x+hspeed,y+vspeed,obj_bottom_mask)
    3. {
    4. counter=speed
    5. do
    6. {
    7. counter-=1
    8. } until !place_meeting(x+lengthdir_x(counter,direction),y+lengthdir_y(counter,direction),obj_bottom_mask)||counter=0
    9. if counter!=0 x+=lengthdir_x(counter,direction)
    10. if counter!=0 y+=lengthdir_y(counter,direction)
    11. }
    12. if place_meeting(x,y+1,obj_bottom_mask)&&!place_meeting(x,y,obj_bottom_mask) {bottom=1 vspeed=0}
    13. if bottom=0 vspeed+=0.5
    14. if bottom=1&&place_meeting(x+hspeed,y,obj_bottom_mask)
    15. {
    16. counter=0
    17. do
    18. {
    19. counter+=1
    20. } until !place_meeting(x+hspeed,y-counter,obj_bottom_mask)||counter=hspeed
    21. y-=counter
    22. }
    23. if !(place_meeting(x+hspeed,y+1,obj_bottom_mask))&&bottom=1
    24. {
    25. counter=0
    26. do
    27. {
    28. counter+=1
    29. } until place_meeting(x+hspeed,y+counter+1,obj_bottom_mask)||counter=abs(hspeed)
    30. if counter<abs(hspeed)+1&&hspeed!=0 y+=counter
    31. }
    Alles anzeigen

    wenn ich das im step ausführe und von unten oder von der seite an eine plattform springe(bei einem jump'n'run), dann bleibt er in der plattform stecken!

    ich weiß, dass das problem bei dem hier liegt:

    GML-Quellcode

    1. if place_meeting(x+hspeed,y+vspeed,obj_bottom_mask)
    2. {
    3. counter=speed
    4. do
    5. {
    6. counter-=1
    7. } until !place_meeting(x+lengthdir_x(counter,direction),y+lengthdir_y(counter,direction),obj_bottom_mask)||counter=0
    8. if counter!=0 x+=lengthdir_x(counter,direction)
    9. if counter!=0 y+=lengthdir_y(counter,direction)
    10. }

    sonst geht alles perfekt(schräg hoch- und runtergehen, von oben auf eine plattform fallen,...)

    ich hoffe, da weiß jemand was dazu

    EDIT: war komischerweise nicht eingerückt, obwohl ich es aus dem gm kopiert hab ?(

    EDIT2+3: hä? das wird ja im forum gar nicht eingerückt!


  • Ich wage mich jetzt mal daran, wo sich sonst keiner dranwagt ^^

    Ich bin mir nicht sicher, aber ich versuchs mal:

    Angenommen du springst zur Seite-Hoch (Bsp.: 45°), dann ist die direction=45.
    Triffst du jetzt auf eine Plattform und machst dann das:

    GML-Quellcode

    1. if counter!=0 x+=lengthdir_x(counter,direction)
    2. if counter!=0 y+=lengthdir_y(counter,direction)

    Müsste die Figur versuchen, immer weiter in die Plattform REIN zu "springen".
  • das musste ich machen, weil es ja auch schräge plattformen gibt. weil wenn man z.b. 45° springt, könnte man auch auf der oberfläche von ner schrägen plattform landen. ich häng mal was an, weil ich glaub, dass des nich ganz verständlich is.
    Bilder
    • prob.JPG

      8,21 kB, 286×231, 122 mal angesehen