Jump to content

Position spawnen


wulf

Recommended Posts

Posted

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

  1. 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.
  2. 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).
  3. 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.
  4. 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).
  5. 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).
  6. 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

  • Danke 1

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...