View Eckpunkte mit view_angle

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

  • View Eckpunkte mit view_angle

    Hallo :)

    mal wieder ein kleines Problem.
    In meinem derzeitigem Projekt kann man ja den View drehen, funktioniert auch alles wunderbar.

    Ich lasse allerdings alles außerhalb des Views deaktivieren, mit folgendem Code:

    GML-Quellcode

    1. var offset = 200;
    2. instance_deactivate_region(view_xview - offset, view_yview - offset, view_wview + 2 * offset, view_hview + 2*offset, false, true);
    3. instance_activate_region(view_xview - offset, view_yview - offset, view_wview + 2 * offset, view_hview + 2*offset, true);


    Funktioniert an sich auch.
    Aber wenn ich den View drehe, dann stimmen plötzlich die 4 Eckpunkte des Views nicht mehr, der dreht sich scheinbar nicht mit.


    Die roten Striche und der Mittelpunkt (zum genauerem erkennen wo sich was befindet) wird folgendermaßen erzeugt:

    GML-Quellcode

    1. draw_line(view_xview, view_yview, view_xview + view_wview, view_yview + view_hview);
    2. draw_line(view_xview, view_yview + view_hview, view_xview + view_wview, view_yview);
    3. draw_circle((view_xview + view_xview + view_wview) /2, (view_yview + view_yview + view_hview) / 2, 20, true);


    Momentan kommt bei gedrehtem View sowas wie auf dem Screenshot raus, und die Instanzen werden dementsprechend deaktiviert obwohl sich ja eigentlich im View sind.
    Hat GM:S das verpasst einzubauen? Muss ich mit lengthdir arbeiten, oder gibts ne simplere Lösung? Oder hab ich
    bei meinem Code einfach nur einen Fehler gemacht?


    Grüße,
    Shari
    Bilder
    • example.jpg

      290,4 kB, 1.366×768, 346 mal angesehen
    Dieser Beitrag wurde bereits 1909 mal editiert, zuletzt von »Sharivari« (Morgen, 19:89)
  • Der GM will bei deactivate Region immer ein Rechteck haben,dass normal im Raum steht und nicht gedreht ist. Die simpelste Lösung wäre wohl immer ein Quadrat zu deaktivieren, dass so breit ist wie deine View wenn sie am schiefsten steht. Also ich glaube die Diagonale deiner View müsste reichen.

    GML-Quellcode

    1. instance_deactivate_region(view_xview - offset, view_yview - offset, view_diagonale, view_diagonale,0,1)

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)