Hallo Jungs! Brauche hilfe bei den türen. In meinem spiel gibt es mehrere türen, von raum zu raum. Sprich von der küche zu Wohnzimmer und von Wohnzimmer zu Schlafzimmer usw. Mit welchem code kann ich bestimmen das wenn ich auf eine tür klicke der Spieler geht zu der tür, verschwindet und erschein in dem anderen raum an der tür. Irgendwie klappt es bei mir nicht!
Türen Erstellen. Wie?
- Android
-
-
Hallo
Also ich würde das mit verschiedenen Türen lösen also jede Tür ein eigenes Objekt, bei Collision mit dem Spieler room_goto(.....).
Es gibt sicher bessere bzw. elegantere lösungen aber mir fällt auf die schnelle nur diese ein.lg Vectorhead -
-
Danke euch. Aber ihr habt mich nicht verstanden. Das spiel läuft in einem room ab, hat aber verschiedene grafisch dar gestellte räume. Halt ein Haus ist in dem spiel. Deshalb brauche ich ja die lösung das ich nur durch die türe gehen kann, port so zu sagen. Der room bleibt der selbe.
-
Ich hab mal eine Tür für eins meiner Spiele gemacht.
Vielleicht hilft dir der Code ja weiter.
Zum Sprite: Der Sprite der Tür besteht aus 2 Frames. Der erste Frame zeigt die geschlossene Tür und der Zweite die geöffnete.
GML-Quellcode
- Draw Event
- >Hier noch ein Code rein der die Tür zeichnet. Bei GM:S wäre das einfach die "Draw Self" Drag n Drop Option<
- //Ein "E" das über der Tür erscheint damit der Spieler weiß das er diese benutzen kann
- if distance_to_object(obj_player) < 16 //Damit der Spieler nicht zu weit weg von der Tür ist
- if !place_meeting(x,y,obj_player) //Damit der Spieler nicht in der Tür hängt
- {
- draw_text(x+3,y-17,"E")
- }
- //Zeichnen der geschlossenen und geöffneten Tür
- if open = false
- {
- image_index = 0;
- }
- if open = true
- {
- image_index = 1;
- }
In der Nacht fällt der Boden von den Wänden. -
MultiDekey´s Methode ist das du einfach dann durch die Tür durchlaufen kannst.
Wenn du den Spieler "teleportieren" willst würde ich das so lösen:
Ich würde drei objekte machen. Einmal die Tür selbst (obj_tuer) dann ein Eingangsbereich (obj_tuer_eingang) und ein Ausgang (obj_tuer_ausgang).
Create Event von der Tür:
Mouse Left Pressed von Tür Objekt:
GML-Quellcode
- if used = 0
- if distance_to_object(obj_player) < 16
- {
- {
- obj_player.x = instance_nearest(x,y,obj_tuer_ausgang).x
- obj_player.y = instance_nearest(x,y,obj_tuer_ausgang).y
- used = 1
- exit
- }
- }
- if used = 1
- if distance_to_object(obj_player) < 16
- {
- {
- obj_player.x = instance_nearest(x,y,obj_tuer_eingang).x
- obj_player.y = instance_nearest(x,y,obj_tuer_eingang).y
- used = 0
- exit
- }
- }
Die objekte obj_tuer_eingang und obj_tuer_ausgang machst du natürich unsichtbar und setzt sie einfach links / rechts neben die Tür.
Der Spieler wird dann bei jedem Mausklick auf die Tür auf die Nähste Position des Tür Ausgangs oder wenn nochmal drückt Tür Eingangs "geportet".
Im Editor sieht das ganze so dann aus wie im Anhang 1. Und im Spiel wie im Anhang 2.