Größere rooms in kleinerer Auflösung

  • GM 8

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

  • Größere rooms in kleinerer Auflösung

    Hallo,

    ich habe ein kleines Problem.
    Mein Hauptroom hat eine Maße von 1680x1050 Pixel. (was auch die Auflösung von meinem Bildschrim ist)

    Wenn ich das jetzt aber auf einem Laptop mit geringerer Auflösung teste, dann passt das alles nicht zusammen.
    Es wird zwar alles korrekt dargestellt, aber die Objekte reagieren falsch.
    Also ich habe Objekte, die, wenn die Maus drüber fahren soll sich ändern.
    Also einfach im Step Event sowas wie

    GML-Quellcode

    1. if(mouse_x > x && mouse_x < x+150 && mouse_y > y && mouse_y < y+150)

    Das funktioniert dann nicht mehr.
    Wenn ich mit der Maus ganz wo anders bin, erst dann verändert sich das Objekt...

    Ich hoffe ihr versteht, was ich meine... :(
    Die Lösung dazu ist bestimmt (hoffentlich) total simpel.
    Könnt ihr mir helfen? Ich verzeifel gerade... :(
  • Das Prolem ist wahrscheinlich, dass du mit dem Code

    GML-Quellcode

    1. if(mouse_x > x && mouse_x < x+150 && mouse_y > y && mouse_y < y+150)


    bewirkst, dass die Action eintritt, wenn sich die maus zwischen den Koordinaten x = 0/100, y = 0/100 relativ zur linken oberen Ecke des Raumes.

    Um das zu korigiern musst du schreiben:

    GML-Quellcode

    1. with(deinObjekt)
    2. {
    3. if(mouse_x > x && mouse_x < x+150 && mouse_y > y && mouse_y < y+150)
    4. }


    oder:

    GML-Quellcode

    1. if(mouse_x > deinObjekt.x && mouse_x < deinObjekt.x+150 && mouse_y >deinObjekt. y && mouse_y < deinObjekt.y+150)


    Grund: x/y sind alleinstehend Konstanten für die 0/0 Koordinaten des aktuellen Raumes.

    LG NONO120 :thumbup:
  • mouse_x gibt die position der Maus im Raum an, display_get_mouse_x() gibt die position der Maus auf dem Bildschirm an und window_mouse_get_x() gibt die Position im Fenster an.

    wenn dein Fenster in der linken oberen Bildschirmecke beginnt und dein Raum nicht durch einen view oder eine skalierung verschoben oder verzwerrt ist, geben alle drei den gleichen Wert an.