Minimap Problem

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

  • Minimap Problem

    Hi @ all,

    Ich arbeite gerade an einem RTS und hab ein Problem mit der Minimap!
    Meine Minimap wird zwar angezeigt, aber nur auf x=0, y=0 ich hätte sie aber gern woanders, wie mach ich das?
    so sieht sie aus :

    Quellcode

    1. {
    2. border_color=c_red;
    3. inner_color=c_black;
    4. radar_width=140;
    5. radar_height=120;
    6. dot_color[0]=c_green;
    7. dot_color[1]=c_blue;
    8. viewrect_color=c_red;
    9. //First, we draw the rectangle of the radar.
    10. pen_color=border_color;
    11. brush_color=inner_color;
    12. brush_style=bs_solid;
    13. draw_rectangle(view_left[0],view_top[0],view_left[0]+radar_width,view_top[0]+radar_height);
    14. draw_rectangle(view_left[0]+view_left[0]/room_width *radar_width,
    15. view_top[0] +view_top[0] /room_height*radar_height,
    16. view_left[0]+(view_left[0]+view_width[0])/room_width *radar_width,
    17. view_top[0] +(view_top[0]+view_height[0])/room_height*radar_height);
    18. brush_color=dot_color[0];
    19. with(obj_Tank1)
    20. {
    21. draw_pixel(view_left[0]+x/room_width*mouseobj.radar_width +5,
    22. view_top[0]+y/room_height*mouseobj.radar_height+5);
    23. }
    24. brush_color=dot_color[1];
    25. with(Baum)
    26. {
    27. draw_pixel(view_left[0]+x/room_width*mouseobj.radar_width +1,
    28. view_top[0]+y/room_height*mouseobj.radar_height+1);
    29. }
    30. }
    Alles anzeigen


    Bitte helft mir!!! :(
    Es gibt viel zu tun, packen wir´s an !!!
    Für Rechtschreibfehler sind die verantwortlich, die sie entdecken :P.
  • Habs mir ned ganz genau angschaut, aber ich denke du musst auf jeden Fall irgendwelche View-Zahlen verändern, also bei view_left z.B. einen anderen Wert in die eckigen Klammern, damit's dann weiter nach rechts (bzw. wohin du die Map haben willst) verschoben wird.

    :/
  • Das geht nicht ! view_left[0] bedeutet ja, dass alles im View 0 erstellt wird, oder? Ich habs sicherheitshalber getestet, mit anderen Werten, doch nichts hat sich verändert! :(

    Danke trotzdem

    Bitte helft mir, würde auch nen anderes Script annehmen, wenn ich aber die x & y-Koordinaten ändern kann. Vielleicht kennt jemand nen Tutorial, oder so?
    Es gibt viel zu tun, packen wir´s an !!!
    Für Rechtschreibfehler sind die verantwortlich, die sie entdecken :P.
  • Quellcode

    1. {
    2. border_color=c_red;
    3. inner_color=c_black;
    4. radar_width=140;
    5. radar_height=120;
    6. radar_x=32;
    7. radar_y=32;
    8. dot_color[0]=c_green;
    9. dot_color[1]=c_blue;
    10. viewrect_color=c_red;
    11. //
    12. radar_x += view_left[0]
    13. radar_y += view_top[0]
    14. //First, we draw the rectangle of the radar.
    15. pen_color=border_color;
    16. brush_color=inner_color;
    17. brush_style=bs_solid;
    18. draw_rectangle(radar_x,radar_y,radar_x+radar_width,radar_y+radar_height);
    19. draw_rectangle(radar_x+view_left[0]/room_width *radar_width,
    20. radar_y +view_top[0] /room_height*radar_height,
    21. radar_x+(view_left[0]+view_width[0])/room_width *radar_width,
    22. radar_y +(view_top[0]+view_height[0])/room_height*radar_height);
    23. brush_color=dot_color[0];
    24. with(obj_Tank1)
    25. {
    26. draw_pixel(mouseobj.radar_x+x/room_width*mouseobj.radar_width +5,
    27. mouseobj.radar_y+y/room_height*mouseobj.radar_height+5);
    28. }
    29. brush_color=dot_color[1];
    30. with(Baum)
    31. {
    32. draw_pixel(mouseobj.radar_x+x/room_width*mouseobj.radar_width +1,
    33. mouseobj.radar_y+y/room_height*mouseobj.radar_height+1);
    34. }
    35. }
    Alles anzeigen

    bittesehr :D
    da oben bei radar_x und radar_y kannste die werte eintragen
  • Cool, Danke schön,

    Habs gerade so gemacht

    Quellcode

    1. {
    2. border_color=c_red;
    3. inner_color=c_black;
    4. radar_width=125;
    5. radar_height=140;
    6. dot_color[0]=c_green;
    7. dot_color[1]=c_blue;
    8. viewrect_color=c_red;
    9. pen_color=border_color;
    10. brush_color=inner_color;
    11. brush_style=bs_solid;
    12. draw_rectangle(view_left+655,view_top+32,view_left+655+radar_width,view_top+32+radar_height);
    13. draw_rectangle(view_left+655+view_left[0]/room_width *radar_width,
    14. view_top+32 +view_top[0] /room_height*radar_height,
    15. view_left+655+(view_left[0]+view_width[0])/room_width *radar_width,
    16. view_top+32 +(view_top[0]+view_height[0])/room_height*radar_height);
    17. brush_color=dot_color[0];
    18. with(obj_Tank1)
    19. {
    20. draw_pixel(view_left+655+x/room_width*mouseobj.radar_width +5,
    21. view_top+32+y/room_height*mouseobj.radar_height+5);
    22. }
    23. brush_color=dot_color[1];
    24. with(Baum)
    25. {
    26. draw_pixel(view_left+655+x/room_width*mouseobj.radar_width +1,
    27. view_top+32+y/room_height*mouseobj.radar_height+1);
    28. }
    29. }
    Alles anzeigen


    aber deine Variante ist Besser glaub ich werd sie mal testen.

    Vielen Vielen Dank
    Es gibt viel zu tun, packen wir´s an !!!
    Für Rechtschreibfehler sind die verantwortlich, die sie entdecken :P.
  • Pixel Grösser?

    Kann man die pixel auch grösser darstellen lassen?
    Bsp.: Kleine Map =Grosse Pixel
    Grosse Map = Kleine Pixel?
    Es gibt viel zu tun, packen wir´s an !!!
    Für Rechtschreibfehler sind die verantwortlich, die sie entdecken :P.
  • Danke funzt :) (leider nur beim Rahmen(rectangle), aber nicht bei draw_pixel :(

    Wo müsste es denn stehen?
    Oder gibts ne andere Möglichkeit?
    Am besten wie bei Warcraft II die Grösse des sprites gibt die grösse des Pixels an, oder so.
    Es gibt viel zu tun, packen wir´s an !!!
    Für Rechtschreibfehler sind die verantwortlich, die sie entdecken :P.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Black-Mask ()

  • Aber wie übertrage ich das auf draw_pixel?

    Könnte mir jemand mal anhand meines scriptes ein bsp. geben?

    Danke im vorraus ;)
    Es gibt viel zu tun, packen wir´s an !!!
    Für Rechtschreibfehler sind die verantwortlich, die sie entdecken :P.
  • dot_size? wär mir neu
    du könntest einfach wie mewx sagte pen_size verwenden, und dann ne linie ziehen, wo start und endpunkt gleich ist (also eigentlich kann man dann nich sagen ziehen.. :D)
    also z.B.
    pen_size=4;
    draw_line(x,y,x,y);

    du musst dann aber drauf achten bevor der rahmen gezeichnet wird wieder auf pen_sizie = 1; zu stellen!

    oder aber du könntest statt punkten auch kleine symbole per draw_sprite anzeigen. wär am wenigsten umständlich und wenn die symbole nich zu groß geraten auch am schönsten
  • Irgentwie raff ich das nich, ich hab jetzt echt alles mögliche versucht, aber nichts führte zum Erfolg ! Hmm....

    Vielleicht wär jemand so nett und schreibt es mir mal an hand meines scripts oben . Sonst versteh ich es warscheinlich in 100 Jahren noch nicht .

    Vielen Dank.

    Mit draw_circle gehts komischerweise !!! sieht auch ganz nett aus

    Danke nochmals ;)

    Zusatz: Room 0 in Minimap

    Gibt es eigentlich auch die Möglichkeit den Raum als Minimap anzeigen zu lassen?

    z.B.: background=room0;

    geht sowas?

    Danke schonmal im Vorraus
    Es gibt viel zu tun, packen wir´s an !!!
    Für Rechtschreibfehler sind die verantwortlich, die sie entdecken :P.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Black-Mask ()

  • Das geht erst im GM6. Allerdings ist es da dann nur möglich, einen Ausschnitt des aktuellen Rooms verkleinert anzuzeigen. Bei RTS ist das nicht immer unbedingt das, wa sman will.
    Ich empfehle dir erstmal ein paar fertige Spiel gmds anzuschauen und zu vesuchen, den Code nachzuvollziehen. Es ist einfach furchtabr schwer Sachen zu erklären, wenn man nicht daneben sitzt.
    schau mal den Befehl "instance_find" in der help nach, der dürfte dir weiterhelfen wegen der varierenden Größe.
  • derzeit durchforste ich sämtliche gmds doch jeder schreibt es anders, was soviele bedeutet wie : man fängt immer wieder an variablen zu suchen, daraus folgt es geht ne menge zeit bei drauf (die zeit nehm ich mich auch)
    aber room in minimap hab ich noch nicht entdeckt, aber da fällt mir gerade(in diesem Augenblick) ein, das man einfach nen abbild(kopie des Raum) unter die minimap legen könnte und den Background des rectangles einfach durchsichtig macht :D ich glaub das könnte gehen
    meine minimap funktioniert sonst ja ganz gut

    thx @ MewX du hast mich auf diese Idee gebracht
    Es gibt viel zu tun, packen wir´s an !!!
    Für Rechtschreibfehler sind die verantwortlich, die sie entdecken :P.
  • Wie gesagt: Alles was mit dem GM geht, steht in der Help.
    Es ist nicht direkr möglich einen Room anzuzeigen, aber e slässt sich immer tricksen.
    Lade dir einfach mal die pdf Version der GM help von gamemaker.nl runter (ob auf deutsch oder englisch), druck sie dir aus und durchforste sie etwas. Das hat bei mir damals wunderbar funktioniert (da gab es noch kein gmaker.de :( ).
    Wenn du nämlich über die Grundsubstanz bescheid weisst, erübrigen sich die meisten Fragen.