Autorennen: Kleine Übersichtskarte mit Position

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

  • Autorennen: Kleine Übersichtskarte mit Position

    Hallo. Könnte mir jmd vllt den Code geben oder ne Anleitung linken, wie ich so ne kleine Übersichtskarte mit Punkten als Positionsangabe des Autos machen kann? So wie man es von vielen Autorennspielen kennt.

    Ich denke die Frage wurde schon 1242356x gestellt, und doch kam bei der SuFu nix gscheits raus, u.a. ein toter Link usw.

    P.S.: Bin totaler Anfänger und habe bisher nur mit Drag & Drop gearbeitet, doch auch Code ist ausdrücklich erwünscht bei eurem Versuch mir zu helfen ;)

    Gruß Paul
  • Hier hast du meinen Mini Radar Code. Du must ihn nur noch für dich anpassen. dieser Code zeigt eigen Einheiten in GRün an und Gegner Einheiten in Rot. (friendlyunits/enemyunits)
    Er zeichnet sie glaub ich oben Links in die Ecke.
    Tausche einfach friendlyunits gegen deine Autos um und schon geht das.
    Die ganzen zaheln sind für die, ich sag mal 1 zu 1 verkleinerung da. Im grunde sucht der Code ein bestimmtes objekt und zeichnet einen Punkt an der stelle. Um das in ein Fenster zu packen wird es um zb 100% verringert ( wert/100) und an eine Stelle auf den Monitor geschoben.
    Dafür sind die ganzen view_xview und view_yview werte von nöten.

    Klapt also auch für alle Echtzeeit Strategiespiele, falls noch jemand sowas hier brauchen sollte


    GML-Quellcode

    1. draw_rectangle(view_xview[0]+480,view_yview[0]+10,view_xview[0]+480+(room_width/((room_width+room_height)/200)),view_yview[0]+10+(room_height/((room_width+room_height)/100)),c_black);
    2. //Zeichnet ein Rechteck, welches das Radar Umrandet
    3. draw_rectangle(view_xview[0]+480+(view_xview[0]/((room_width+room_height)/300)),view_yview[0]+10+(view_yview[0]/((room_width+room_height)/300)),view_xview[0]+480+((view_xview[0]+view_wport[0])/((room_width+room_height)/300)),view_yview[0]+10+((view_yview[0]+view_hport[0])/((room_width+room_height)/300)),c_white);
    4. //Zeichent ein Rechteck, da wo der aktuelle Monitor ausschnitt im Level ist, kann aber bei Rennspielen rausgenommen werden
    5. draw_set_color(c_lime);
    6. for (i=0;i<instance_number(friendlyunits);i+=(1+floor(instance_number(friendlyunits)/100))) {
    7. draw_point(view_xview[0]+480+(instance_find(friendlyunits,i).x/((room_width+room_height)/300)),view_yview[0]+10+(instance_find(friendlyunits,i).y/((room_width+room_height)/300)));
    8. }
    9. draw_set_color(c_red);
    10. for (a=0;a<instance_number(enemyunits);a+=(1+floor(instance_number(enemyunits)/100)))
    11. {
    12. draw_point(view_xview[0]+480+(instance_find(enemyunits,a).x/((room_width+room_height)/300)),view_yview[0]+10+(instance_find(enemyunits,a).y/((room_width+room_height)/300)));
    13. }
    14. draw_set_color(c_white);
    Alles anzeigen
    Meine Signatur hat kein Visum für das GM Forum erhalten.
  • Hallo, erstmal vielen Dank für den Code - klappt!

    Nun sind die Punkte aber so winzig klein, dass sie kaum für das Auge erkennbar sind :D

    Gibts ne Möglichkeit die Punkte größer darzustellen?

    2. Zeigt der Radar in deinem Beispiel die Position um 100% oder um 300% verringert an? Denn als nächstes würde ich dann den Streckenverlauf verkleinert zeichnen und dadrauf die Punkte "fahren lassen".
  • GML-Quellcode

    1. var zoom;
    2. zoom=4 //pixel
    3. draw_rectangle(view_xview[0]+480,view_yview[0]+10,view_xview[0]+480+(room_width/((room_width+room_height)/200)),view_yview[0]+10+(room_height/((room_width+room_height)/100)),c_black);
    4. //Zeichnet ein Rechteck, welches das Radar Umrandet
    5. draw_rectangle(view_xview[0]+480+(view_xview[0]/((room_width+room_height)/300)),view_yview[0]+10+(view_yview[0]/((room_width+room_height)/300)),view_xview[0]+480+((view_xview[0]+view_wport[0])/((room_width+room_height)/300)),view_yview[0]+10+((view_yview[0]+view_hport[0])/((room_width+room_height)/300)),c_white);
    6. //Zeichent ein Rechteck, da wo der aktuelle Monitor ausschnitt im Level ist, kann aber bei Rennspielen rausgenommen werden
    7. draw_set_color(c_lime);
    8. for (i=0;i<instance_number(friendlyunits);i+=(1+floor(instance_number(friendlyunits)/100))) {
    9. draw_rectangle(view_xview[0]+480+(instance_find(friendlyunits,i).x/((room_width+room_height)/300))-zoom,view_yview[0]+10+(instance_find(friendlyunits,i).y/((room_width+room_height)/300))-zoom,view_xview[0]+480+(instance_find(friendlyunits,i).x/((room_width+room_height)/300))+zoom,view_yview[0]+10+(instance_find(friendlyunits,i).y/((room_width+room_height)/300))+zoom,false);
    10. }
    11. draw_set_color(c_red);
    12. for (a=0;a<instance_number(enemyunits);a+=(1+floor(instance_number(enemyunits)/100)))
    13. {
    14. draw_rectangle(view_xview[0]+480+(instance_find(enemyunits,a).x/((room_width+room_height)/300))-zoom,view_yview[0]+10+(instance_find(enemyunits,a).y/((room_width+room_height)/300))-zoom,view_xview[0]+480+(instance_find(enemyunits,a).x/((room_width+room_height)/300))+zoom,view_yview[0]+10+(instance_find(enemyunits,a).y/((room_width+room_height)/300))+zoom,false);
    15. }
    16. draw_set_color(c_white);
    Alles anzeigen

    Sollte es sein.
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • Benutzer online 1

    1 Besucher