Radiales point_distance, das wrappt

  • GM 8

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

  • Radiales point_distance, das wrappt

    Yo. Ich will ein point_distance, das praktisch horizontal wrappt, denn meine Spielfläche wird später als Zylinder gezeichnet, um den man herumlaufen kann.

    GML-Quellcode

    1. //point_distance_radial(x1, y1, x2, y2);
    2. var distr = point_distance(argument0, argument1, argument2, argument3);
    3. var tx = point_distance(argument0, 0, argument2, 0);
    4. var tx2 = point_distance(argument0, 0, 640, 0);
    5. var tfac = tx / tx2;
    6. var ty = point_distance(0, argument1, 0, argument3);
    7. var ty2 = ty / tfac;
    8. var distr2 = point_distance(argument0, argument1, 640, ty2);
    9. var distr3 = point_distance(0, ty2, argument2, argument3);
    10. var distr4 = distr2 + distr3;
    11. tx = point_distance(argument0, 0, argument2, 0);
    12. tx2 = point_distance(0, 0, argument2, 0);
    13. tfac = tx / tx2;
    14. ty = point_distance(0, argument1, 0, argument3);
    15. ty2 = ty / tfac;
    16. var distr5 = point_distance(argument0, argument1, 0, ty2);
    17. var distr6 = point_distance(640, ty2, argument2, argument3);
    18. var distr7 = distr5 + distr6;
    19. return min(distr, distr4, distr7);
    Alles anzeigen


    Es soll praktisch von diesen Linien hier die kürzeste raussuchen:


    Das hab ich geschrieben, funzt aber net. Wieso?
    :| < Hallo. Nein ich bin nicht die Signatur, ich putze hier nur.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Lightning the Hedgehog ()

  • Probiers mal damit:

    GML-Quellcode

    1. // point_distance_radial_x(x1,y1,x2,y2,d)
    2. return min(
    3. point_distance(argument0,argument1,argument2-argument4,argument3),
    4. point_distance(argument0,argument1,argument2,argument3),
    5. point_distance(argument0,argument1,argument2+argument4,argument3));

    wobei der fünfte Parameter d deine 640 sind.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Bl@ckSp@rk ()