wulf Posted September 3, 2025 at 02:51 AM Posted September 3, 2025 at 02:51 AM Um in Construct 3 ein Objekt neben der Position eines anderen Objekts zu spawnen, kannst du das integrierte Event-System nutzen, um die Position des Referenzobjekts zu bestimmen und einen Offset anzuwenden. Construct 3 verwendet ein visuelles Event-basiertes System, daher werde ich die Schritte klar beschreiben und auf die relevanten Aktionen eingehen. Schritte in Construct 3 Voraussetzungen: Du hast ein Layout mit einem Referenzobjekt (z. B. „Player“ oder „Spawner“) und ein Objekt, das gespawnt werden soll (z. B. „Item“ oder „Enemy“). Beide Objekte sind als Sprites in deinem Projekt definiert. Event Sheet erstellen: Öffne die Event Sheet für dein Layout. Füge ein neues Event hinzu, um das Spawnen zu triggern (z. B. bei Tastendruck, Timer oder einer anderen Bedingung). Beispiel: Objekt neben einem anderen spawnen: Angenommen, du möchtest ein Objekt (z. B. „Item“) 50 Pixel rechts von einem anderen Objekt (z. B. „Player“) spawnen, wenn die Leertaste gedrückt wird. Event erstellen: Kondition hinzufügen: Klicke auf „Add event“. Wähle „Keyboard“ > „On key pressed“ > Leertaste (Space). Aktion hinzufügen: Klicke auf „Add action“. Wähle „System“ > „Create object“. Wähle das zu spawnende Objekt (z. B. „Item“). Gib die Koordinaten ein: X: Player.X + 50 (spawnt 50 Pixel rechts vom Player). Y: Player.Y (gleiche Y-Position wie der Player). Wähle das Layer aus, auf dem das Objekt gespawnt werden soll (z. B. „Layer 0“). Alternative mit einem Sprite als Spawner: Falls du ein spezielles Spawner-Objekt hast (z. B. „Spawner“), kannst du die Position des Spawners verwenden: Kondition: Wähle z. B. „System“ > „Every X seconds“ (z. B. 1 Sekunde), um regelmäßig zu spawnen. Aktion: Wähle „System“ > „Create object“. Setze X auf Spawner.X + 50 und Y auf Spawner.Y. Vermeidung von Image Points: Wie in erwähnt, kannst du statt Image Points direkt die X- und Y-Koordinaten mit einem Offset berechnen (z. B. Object.X + 50 oder Object.Y + 20), um das neue Objekt neben dem Referenzobjekt zu platzieren. Wenn Object.X + pixels nicht funktioniert hat, überprüfe: Ob das Referenzobjekt korrekt referenziert wird (z. B. „Player“ statt eines falschen Namens). Ob das Layer korrekt gesetzt ist. Ob das Objekt außerhalb des sichtbaren Layouts gespawnt wird (überprüfe die Koordinaten). Erweiterung: Zufälliger Offset: Wenn das Objekt an einer zufälligen Position in der Nähe spawnen soll: Setze X auf Player.X + random(-50, 50) (zufälliger Offset zwischen -50 und +50 Pixeln). Setze Y auf Player.Y + random(-50, 50). Testen: Starte die Vorschau („Preview“) und drücke die Leertaste (oder warte auf den Timer), um zu überprüfen, ob das Objekt an der richtigen Stelle erscheint. Falls es nicht funktioniert, überprüfe die Event Sheet auf Tippfehler oder falsche Objektreferenzen. Beispiel-Event in Textform: Event: Keyboard → On Space pressed Action: System → Create object "Item" on layer "Layer 0" at (X: Player.X + 50, Y: Player.Y) Hinweise aus den Web-Ergebnissen: Vermeidung von Überlappungen: Falls du sicherstellen möchtest, dass gespawnte Objekte nicht überlappen, kannst du eine Kollisionsprüfung hinzufügen (siehe). Füge eine Bedingung wie „Item → Is overlapping Item“ hinzu und verschiebe das Objekt, falls eine Überlappung erkannt wird. Mehrere Objekte in einer Reihe: Wenn du mehrere Objekte nebeneinander spawnen möchtest (wie in), kannst du eine Schleife verwenden: Nutze „System → For“ mit einem Zähler (z. B. 0 bis 2) und berechne die X-Position als Player.X + (50 * loopindex). Position spawnen.c3p 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now