Schreagen hochlaufen

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

  • Schreagen hochlaufen

    Hallo,
    ja, ich weiß zum x-ten mal wieder dieses thema (die ich sogar teilweise noch selbst beantworet habe^^). diesmal ist es aber nicht nur das normale hochlaufen was ich suche. sondern auch eine geschwindigkeitsregelung beim laufen von verschiedenen steigungen.

    also, bisher sieht es vollgender maßen aus:

    GML-Quellcode

    1. hspeed = 0;
    2. if place_free(x,y+4) then
    3. {
    4. movespd = 6;
    5. }
    6. else
    7. {
    8. movespd = 4;
    9. }
    10. if !place_free(x,y+1) then
    11. {
    12. for (i=8; i>=-8; i-=1)
    13. {
    14. if keyboard_check(right_key) && place_free(x+movespd,y+i) then
    15. {
    16. hspeed = movespd;
    17. y += i;
    18. break;
    19. }
    20. if keyboard_check(left_key) && place_free(x-movespd,y+i) then
    21. {
    22. hspeed = -movespd;
    23. y += i;
    24. break;
    25. }
    26. }
    27. }
    28. else
    29. if keyboard_check(right_key) then
    30. {
    31. hspeed = movespd;
    32. }
    33. if keyboard_check(left_key) then
    34. {
    35. hspeed = -movespd;
    36. }
    37. if keyboard_check(up_key) && (!place_free(x,y+1)) && (!mouse_check_button(mb_right)) then
    38. {
    39. vspeed = jumpspd;
    40. }
    Alles anzeigen
    das ist der gesammte code für die verschiedenen bewegungen. was muss ich nun noch einbauen, damit sich mein spieler schneller bewegt wen er runterläuft, und langsamer wen er hochläuft?

    ps:
    bei diesem code ruckt das mänchen immer beim hochlaufen, legt das am code oder daran das die stufe immer der untere pixel fehlt (da ja sonst die falsche farbe transparent gemacht wird.
    pps: kan ich das mit der links-unten-farbe-transparent auch auf links-oben (zb.) umstellen?
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl
  • oje oje...hab gehofft das ich das problem nie wieder zu gesicht bekomme....:(
    also beim ps kann ich dir helfen...:
    1.mache das bild 1 pixel breiter(das bild musst du an den rechten rand schieben)
    2.ändere in der sprite einstellung x-origin+1
    nun sollte das problem gelöst sein....
    int (*x(*x(int))[5])(int*);
    Confused? Yes, it's C!
  • Benutzer online 1

    1 Besucher