Problem bei mehreren Objekten

  • Problem bei mehreren Objekten

    Ich will dass wenn mein Player alle Bälle zerstört, man in den nächsten Raum wandert.

    Doch dass klappt nicht. (Trotz tutorial...)

    Ich habe in einem Controller (links oben unsichtbar) In einem Step event stehen, dass wenn die Bälle equal to auf 0 stehen, man in den nächsten raum wandert.

    Doch es funktionier nicht!

    Wieso?

    (PS: Im Tutorial gibt es ja Maze_2 als beispiel. Dieses Door was sich selbst zerstört, hat eine wand als Parent. Was ist das Parent? Vielleicht liegst daran.)
    :S
  • Hast du einfach nur den Examplecode kopiert und dann gehofft, dass es klappt? ^^
    Du musst das ganze schon deinem eigenen Spiel anpassen.

    Versuch's mal mit

    GML-Quellcode

    1. if instance_number(obj_ball)=0 room_goto_next();

    (obj_ball durch den entsprechenden Namen ersetzen).

    Und dann hätte ich da noch eine kleine Information zu Parents:

    Spoiler anzeigen
    Every object can have a parent object. When an object has a parent, it inherits the behavior of the parent. Stated differently, the object is a sort of special case of the parent object. For example, if you have 4 different balls, named ball1, ball2, ball3 and ball4, which all behave the same but have a different sprite, you can make ball1 the parent of the other three. Now you only need to specify events for ball1. The others will inherit the events and behave exactly the same way.



    Mit anderen Worten, wenn du mehreren Objekten das selbe Objekt als Parent gibst, musst du nur noch dem Parent die Codes verpassen und alle Tochterobjekte werden sie übernehmen (sehr nützlich zum Beispiel für verschiedene Gegnerarten, die den Spieler bei Kontakt verletzen sollen).
  • andere versuch

    versuch es doch mal mit

    GML-Quellcode

    1. if instance_exists(obj_ball)=false then room_goto_next();

    Das müst eigentlich aussagen wenn dies nicht mehr existiert dann geht er in den nächsten raum
    Meine Signatur hat kein Visum für das GM Forum erhalten.
  • Alternativ kann man sich auch die Anzahl der Bälle ausgeben lassen:

    GML-Quellcode

    1. if(instance_number(obj_ball) == 0) {room_goto_next();}
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Danke! Hat schon gewirkt.

    Ich hätte da noch eine frage:

    Wie mache ich es nurm it mehreren Objekten? Mit Variablen funtzt das irgendwie nicht.

    Also: BSP: Es gibt 2 Arten von Blöcken. Wenn man die Roten und die grünen Blöcke zerstört, (die 2 unterschiedliche Objekte sind) dann geht man zum nächsten raum.

    Wie mahc ich das? (Wenn es geht in D&D) :)
  • äh, hast du dir meinen aus der Hilfe kopierten Text durchgelesen (Oder meine Erklärung dazu)?
    Falls nicht:
    erstell ein Parent (z.B. namens par_blocks) und weis den roten und grünen Blöcken dieses Parent zu. Und dann prüfst du im Controller, ob noch par_blocks im Raum sind. Falls nicht gehste in den nächsten Raum.

    Trial&Error ist und bleibt ne gute Idee.
  • Naja, so schwer ist das doch nicht zu übersehen, oder?




    EDIT:
    Oh mann, soviel zu "wer lesen kann ist klar im Vorteil". :pinch:
    Sorry, ich hab mich verlesen.

    Um die Anzahl der Parents zu überprüfen nimmst du einfach den Code, den ich dir in meiner ersten Antwort gegeben hab (also instance_number abfragen) und fügst als Argument einfach par_blocks ein.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Irrenhaus3 ()

  • Argument??? :(

    Was ist das? (Sorry, aber in GML kenn ich mich so gut wie gar nicht aus... Mannst du al Argument das mit dem zwei // wo du eine Erklärung usw. reinschreiben kannst?)

    Ic hweiss dass ich große umstände mache mit meinen Fragen, aber ich verstehe von GML und einigen sachen (wie Parents) so gut wie nichts. ;(