dummer Code mit "If object exists"

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

  • dummer Code mit "If object exists"

    Folgendes Problem:

    Ich möchte am Anfang eines Spiels Objekte (genannt: ball_red)erstellen,
    die irgendwo im Room zufällig platziert werden.
    Sie sollen aber nicht zu nahe an dem Punkt erscheinen,
    an dem (später erst) das Player-Object (genannt: ballgreen) gespawnt wird.

    Dazu verwende ich folgenden Code:

    GML-Quellcode

    1. if object_exists(ballgreen) {
    2. if distance_to_point(ballgreen.x,ballgreen.y)<160 {
    3. x=round(20+random(room_width-40))
    4. x=round(20+random(room_height-50)) } }
    5. else {
    6. if distance_to_point(room_width/2,(room_height-20)/2)<160 {
    7. x=round(20+random(room_width-40))
    8. x=round(20+random(room_height-50)) } }
    Dazu kommt folgende Fehermeldung:
    Error
    in action 1
    of Create Event
    for object ball_red:

    error in code at line 8:

    if distance_to_point(ballgreen.x,ballgreen.y)<160 {

    at position 34: unknown variable x

    Das heißt also im Klartext:
    Er findet die X-Koordinate von "ballgreen" nicht.
    (Is ja auch logisch, das Object existiert ja auch noch garnicht.)

    ABER:
    Genau deswegen habe ich ja den obigen code so konzipiert,
    dass diese variable NUR DANN abgefragt wird,
    wenn ballgreen bereits existiert. :motz:

    Und jetzt die finale Frage:
    Was genau hab ich falsch gemacht? :ugly:
    Hier werden sie geholfen:
    [Regeln] [GML] [Hilfe] [Suche] [Posten] [Duden.de]
    [Wenn das alles nicht mehr hilft] [Dunning-Kruger]


    "Die Vernunft sollte Autorität definieren; nicht umgekehrt!"
    "Selber denken regt das Gehirn an."
    - Niffel f.k.a. Kilik
  • object_exists prüft, ob ein Objekt im Spiel vorhanden ist, in dem Sinne das du es beim Erstellen des Spieles gemacht hat Objekt gemacht hast.

    Du brauchst instance_exists(obj), welches prüft, ob sich im Moment ein Objekt im Raum befindet.

    Verstehst du den unterschied? Das eine prüft das vorhandensein des Objektes im Spiel, also links im Ressourcen-Explorer, das andere ob es sich im Raum befindet oder nicht.
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • Oh...

    Ja, ich verstehe den Unterschied.^^
    (Ich wusste nur nicht, dass es "instance_exists" gibt.^^)

    Jetzt funktioniert's.

    Thx Winni.^^
    (Ich darf dich doch so nennen, oder?)
    Hier werden sie geholfen:
    [Regeln] [GML] [Hilfe] [Suche] [Posten] [Duden.de]
    [Wenn das alles nicht mehr hilft] [Dunning-Kruger]


    "Die Vernunft sollte Autorität definieren; nicht umgekehrt!"
    "Selber denken regt das Gehirn an."
    - Niffel f.k.a. Kilik
  • Benutzer online 1

    1 Besucher