Den Game Maker benutzen
Views
Wie du wissen solltest, kannst du bis zu acht verschiedene Views definieren, wenn du Räume entwirfst. Ein View ist durch sein Ansichts-Areal und seines Ansichts-Ports auf dem Bildschirm im Raum definiert (oder um genau zu sein, in der Zeichnungs-Region innerhalb des Fensters). Durch das Benutzen von Views kannst du verschiedene Teile vom Raum an verschiedenen Stellen auf dem Bildschirm zeigen. Weiterhin kannst du sicher gehen, dass ein bestimmtes Objekt immer sichtbar bleibt.Du kannst die Views innerhalb des Codes kontrollieren. Du kannst Views sichtbar und unsichtbar machen und den Platz oder die Größe vom View in der Zeichnungs-Region oder die Position und Größe des Views im Raum (was insbesondere nützlich ist, wenn du kein Objekt zum Sichtbar-Sein angibst) ändern. Du kannst die Größe von der horizontalen und vertikalen Grenze um das sichtbare Objekt ändern, und du kannst angeben welches Objekt in den Views sichtbar bleiben muss. Letzteres ist sehr wichtig wenn die bedeutenden Objekte während des Spieles wechseln. Zum Beispiel willst du vielleicht das Hauptcharakter-Objekt seinem derzeitigen Status entsprechend ändern. Unglücklicherweise bedeutet dies, dass es nicht länger das Objekt ist, das sichtbar bleiben muss. Dem kann durch eine Zeile von Code im Erstellungs-Ereignis von all den möglichen Hauptcharakter-Objekten abgeholfen werden (angenommen, dass dies in der ersten Ansicht passieren muss):
{
view_object[0] = object_index;
}
Die folgenden Variablen existieren, die die Ansicht beeinflussen. Alle, bis auf die ersten zwei, sind Arrays von 0 (die erste Ansicht) bis 7 (die letzte Ansicht) reichend.
view_enabled Ob Views aktiviert sind oder nicht.
view_current* Der derzeitig gezeichnete View (0-7). Benutze dies nur im Draw Event. Du kannst zum Beispiel diese Variable überprüfen um bestimmte Dinge nur in einem View zu zeichnen. Die Variable kann nicht verändert werden.
view_visible[0..7] Ob der einzelne View auf dem Bildschirm sichtbar ist.view_xview[0..7] X-Position des Views im Raum.
view_yview[0..7] Y-Position des Views im Raum.
view_wview[0..7] Breite des Views im Raum.
view_hview[0..7] Höhe des Views im Raum.
view_xport[0..7] X-Position des View-Ports in der Zeichnungs-Region.
view_yport[0..7] Y-Position des View-Ports in der Zeichnungs-Region.
view_wport[0..7] Breite des View-Ports in der Zeichnungs-Region.
view_hport[0..7] Höhe des View-Ports in der Zeichnungs-Region.
view_angle[0..7] Drehungs-Winkel, der für den View im Raum benutzt wird (gegen den Uhrzeigersinn in Grad).
view_hborder[0..7] Größe der horizontalen Begrenzung um das sichtbare Objekt herum (in Pixeln).
view_vborder[0..7] Größe der vertikalen Begrenzung um das sichtbare Objekt herum (in pixels).
view_hspeed[0..7] Maximale horizontale Geschwindigkeit des Views.
view_vspeed[0..7] Maximale vertikale Geschwindigkeit des Views.
view_object[0..7] Objekte deren Instanzen im View sichtbar bleiben müssen. Wenn es mehrere Instanzen von diesem Objekt gibt wird nur der ersten gefolgt. Du kannst auch eine Instanz-Id dieser Variable zuweisen. In diesem Fall wird der einzelnen Instanz gefolgt.
Beachte, dass die Größe des Bildes auf dem Bildschirm auf Basis der sichtbaren Views beim starten des Raumes berechnet wird. Wenn du Views während des Spiels änderst, passen sie vielleicht nicht mehr auf dem Bildschirm. Die Bildschirm-Größe jedoch wird nicht automatisch angepasst. Also wenn du dies brauchst musst du es selber durch das Benutzen der folgenden Funktionen machen:
window_set_region_size(w, h, adaptwindow) Setzt die Breite und Höhe der Zeichnungs-Region im Fenster. adaptwindow gibt an, ob die Fenster-Größe angepasst werden muss falls die Region nicht hineinpasst.
window_get_region_width() Gibt die derzeitige Breite der Zeichungs-Region wieder.
window_get_region_height() Gibt die derzeitige Höhe der Zeichnungs-Region wieder.
In einem Spiel brauchst du oft die Position des Mauszeigers. Normalerweise benutzt du für dies die Variablen mouse_x und mouse_y. Wenn es mehrere Views gibt, geben diese Variablen die Maus-Position bezüglich des Views, in der die Maus ist, an. Manchmal jedoch, brauchst du die Mausposition unter Berücksichtigung eines bestimmten Views, auch wenn sie außerhalb dieses Views ist. Für dies existieren die folgenden Funktionen.
window_view_mouse_get_x(id) Gibt die X-Koordinate der Maus bezüglich des Views mit dem Index id wieder.
window_view_mouse_get_y(id) Gibt die Y-Koordinate der Maus bezüglich des Views mit dem Index id wieder.
window_view_mouse_set(id, x, y) Setzt die Position der Maus bezüglich des Views mit dem Index id wieder.
window_views_mouse_get_x() Gibt die X-Koordinate der Maus bezüglich des Views, in dem sie sich befindet, wieder. (genau wie mouse_x).
window_views_mouse_get_y() Gibt die Y-Koordinate der Maus bezüglich des Views, in dem sie sich befindet, wieder. (genau wie mouse_y).
window_views_mouse_set(x, y) Setzt die Position der Maus bezüglich des ersten Views, der sichtbar ist.
Alternative Versionen
Auch verfügbar in:
Download helpfile