Problem mit Path-motion

  • GM 8

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

  • Problem mit Path-motion

    Hi

    hab mich wieder mit dem Motion system von meinem Spiel beschäftigt weil mir das alte nicht so gut gefiel.
    hab eine Kombination aus grid path und potential step gemacht.
    zum bewegen benutze ich jetzt dieses Skript:


    Spoiler anzeigen

    GML-Quellcode

    1. var xx,yy;
    2. if move_time > wanted_fps/fps*200
    3. stp = 1;
    4. if stp = 0
    5. {
    6. n_point = 0;
    7. move_time = 0;
    8. stp = 1;
    9. if path_exists(motion_path) path_delete(motion_path);
    10. motion_path = path_add();
    11. mp_grid_add_instances(motion_grid,argument0,true)
    12. mp_grid_clear_rectangle(motion_grid,x-sprite_width/2,y-sprite_height/2,x+sprite_width/2,y+sprite_height/2)
    13. if !mp_grid_path(motion_grid,motion_path,x,y,argument1,argument2,true)
    14. {
    15. add_message("No way possible for this unit!");
    16. move = 0;
    17. exit;
    18. }
    19. mp_grid_clear_all(motion_grid);
    20. point_number = path_get_number(motion_path);
    21. }
    22. var b;
    23. do
    24. {
    25. if !path_exists(motion_path) break;
    26. xx = path_get_point_x(motion_path,n_point);
    27. yy = path_get_point_y(motion_path,n_point);
    28. move_time = 0;
    29. b = position_meeting(xx,yy,argument0);
    30. if b = 1
    31. n_point += 1;
    32. if n_point >= point_number
    33. {
    34. if path_exists(motion_path) path_delete(motion_path);
    35. break;
    36. }
    37. }
    38. until(b = 0)
    39. move_time += 1;
    40. mp_potential_step_object(xx,yy,move_speed*wanted_fps/fps,argument0);
    41. if point_distance(x,y,xx,yy) < move_speed +1
    42. n_point += 1;
    Alles anzeigen



    Die Sache funktioniert auch recht gut, allerdings gibt es ein problem.
    Immer wenn die einheit am Pfadende ankommt beginnt sie sich zumm 0,0 Punkt zu bewegen.
    Ich kann das irgendwie nicht fixen.
    hab sogar versucht zu überprüfen ob der Abstand zum Ziel kleiner als 2 ist, die Bewegung zu stoppen. Es will einfach nicht wirken.





    EDIT: hab den Code komplett umgeschrieben.

    Es funktioniert jetzt :)

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von DragonGamer ()