Ein Object, mehrfach gezeichnet mit verschiedenen Eigenschaften

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

  • Ein Object, mehrfach gezeichnet mit verschiedenen Eigenschaften

    Hallo,

    ich bin´s mal wieder. Der Neue...

    Wie kann ich einen (zwei) Stein(e) nehmen, diesen 10 mal zeichnen lassen, dann bei Berührung eines Schalters oder irgendeines anderen Objektes nur ein Stein löschen lassen? (Bisher noch ganz einfach) Aber:

    Die 10 Steine (nehmen wir an, sie sind gelb und blau - zwei Objekte) liegen übereinander. Also eine Reihe von 10 Steinen Höhe und einem Stein Breite.

    [] blau
    [] gelb
    [] blau
    [] gelb
    [] blau
    usw...

    Diese Steinreihe kommt auf den Spieler von rechts nach links zu. Er berührt mit der Kugel (die Spielfigur) einen gelben Taster. Alle gelben Steine werden dadurch zerstört und die blauen Steine (sofern sie über den gelben lagen). werden an deren Position gesetzt. Der Spieler kann z.b. auch den blauen Schalter berühren und damit alle blauen Steine zerstören.

    Wie bekomme ich das hin?

    Danke euch!
    Was man mit Händen baut, kann auch mit Händen zerstört werden...
  • Ähm...
    Das versteh ich nicht so ganz...
    Mach mal eine Grafik, wie du dir das in etwa vorstellst...
    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
  • dis mit dem schalter, dass der alle objekte zerstören soll, machst du, dass er so lange schaut, ob das objekt stein mit der entsprechenden farbe noch instanzen im raum hat, und dann eine instanz des objekt löscht. der wird auf diese weise immer die mit der kleineren id nehmen, bis alle weg sind, aber ich glaube, dein problem war, dass die übrigen steine aufrücken. da machst du einfach eine abfrage, ob der platz neben den steinen frei ist, und wenn nicht, bewegen sie sich sagen wir mal 4 pixel nach rechts. (ich glaube, die sollten nach rechts rutschen.) um zu verhindern, dass die alle aus dem bild wandern, machst du dann noch ein unsichtbares objekt, dass vor dem ersten stein steht.
  • Original von CAS
    da machst du einfach eine abfrage, ob der platz neben den steinen frei ist, und wenn nicht, bewegen sie sich sagen wir mal 4 pixel nach rechts. (ich glaube, die sollten nach rechts rutschen.) um zu verhindern, dass die alle aus dem bild wandern, machst du dann noch ein unsichtbares objekt, dass vor dem ersten stein steht.


    1. Sie sollten nach links.
    2. Du meinst wohl, dass die Steine aufrutschen, wenn der Platz frei ist.
    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
  • RE: Ein Object, mehrfach gezeichnet mit verschiedenen Eigenschaften

    Original von magic_hero
    Wie kann ich einen (zwei) Stein(e) nehmen, diesen 10 mal zeichnen lassen, dann bei Berührung eines Schalters oder irgendeines anderen Objektes nur ein Stein löschen lassen?


    Hm... wie du das im Thema suggerierst, mit dem Mehrfachzeichnen, geht das nicht. Su müsstest im Raum eben die beiden Steine immer wieder übereinander setzen. Stelle die Eigenschaft und gebe denen Schwerkraft (Gravity) in die Richtung 270 und experimentiere etwas mit der Geschwindigkeit.
    "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
  • Danke für die Antworten.
    Das mit der Gravity klingt logisch.

    Aber die Frage ist noch nicht gelöst. Wie ich aus nur zwei Objekten ganze Zehnerreihen aufbauen kann...

    Leider spinnt mein Server im Moment. Ich kann das Bild nicht hochladen...

    Aber hier eine Beschreibung

    Die Spielfigur steht links im Raum, hinter ihr sind zwei Schalter. Einer für die blauen und einer für die gelben Steine.

    Die Steine kommen von rechts und steuern horizontal auf die Spielfigur zu. Immer zehn Steine übereinander. und jeweils als Zweierreihe. Also zwei Reihen a 10 Steine. Dann eine Reihe frei. und wieder zwei reihen a 10 steine.


    Nun drückt der Spieler den gelben Schalter und in der ersten Reihe, werden alle gelben Steine zerstört. Die blauen rücken an die Position, wo vorher die gelben Stein waren.

    Dann muß er noch die blauen Steine zerstören, indem er den blauen Schalter drückt.

    Die nächste Reihe folgt... usw...

    Ist das mit dem GM überhaupt möglich?
    Was man mit Händen baut, kann auch mit Händen zerstört werden...
  • Ja sicher ist das möglich, du baust im Raum einfach immer einen blauen und einen gelben Stein übereinander und lässt die Steine in die gleiche Richtung gehen, der Schalter zerstört eben dann alle Steine einer Farbe.

    Ich mach dir mal ein Beispiel fertig, wenn du warten kannst, da ich morgen erst ab 16:00 daheim bin.
    "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
  • Original von Kilik
    Original von CAS
    da machst du einfach eine abfrage, ob der platz neben den steinen frei ist, und wenn nicht, bewegen sie sich sagen wir mal 4 pixel nach rechts. (ich glaube, die sollten nach rechts rutschen.) um zu verhindern, dass die alle aus dem bild wandern, machst du dann noch ein unsichtbares objekt, dass vor dem ersten stein steht.


    1. Sie sollten nach links.
    2. Du meinst wohl, dass die Steine aufrutschen, wenn der Platz frei ist.


    :ops: ooops! türlich meinte ich, wenn der platz frei ist, aber dis mit der gravity kannte ich noch net...
  • Noch eine Frage an euch:

    Kann ich eigentlich eine Random Instance für die Blöcke setzen?

    Das heißt ich habe drei Objecte

    Obj_1
    Obj_2
    Obj_3

    Dann will ich im Code sowas machen (weiß ja nicht wie das mit random geht)

    random.object= obj_1+obj_2+obj_3;
    instance_create(10,10,random.object);

    Es soll halt an die Pos 10,10 ein zufälliges Object gewählt werden...

    Danke für Antworten
    Was man mit Händen baut, kann auch mit Händen zerstört werden...
  • Sorry, kleiner Leichtsinnsfehler

    GML-Quellcode

    1. object_nr=floor(random(2))+1;
    2. execute_string('instance_create(10,10,Obj_'+string(object_nr)+')');


    Edit:

    Hier das Beispiel wegen den Blöcken das du haben wolltest: home.arcor.de/Windapple/gmaker/block_beispiel.zip
    "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
  • Hallo Windapple,

    vielen Dank für das Beispiel und das du daran doch noch gedacht hast.

    Allerdings habe ich es so in etwa auch schon hinbekommen.

    Auch ohne das ich die Steine in den Raum setze.

    Ich weiß das du dich super mit dem GM auskennst und ich so gut wie gar nicht.

    Es sollte eigentlich so sein:

    Ich habe die Blöcke mittels Code und instance_create gezeichnet.

    Sie sollen zufällig erscheinen und von links nach rechts gehen.

    Hier mal ein Bild:


    Die Idee (zusammengefasst):

    Der Spieler (im Beispiel eine Biene) hat am linken Bildschirm fünf verschiedene Farbtöpfe oder von mir aus auch Farbschalter blau,gelb,grün,rot,grau.

    Von rechts nach links kommen immer Zehnerblöcke auf den Spieler zu.
    (wie im Bild) Da habe ich allerdings einen grünen Farbtopf genommen - denkt ihn euch gelb oder blau.

    Diese Blöcke bestehen halt auch aus den fünf Farben. Je nachdem welchen Farbtopf der Spieler berührt zerstört er damit die entsprechenden farbigen Blöcke.

    Die anderen Blöcke sollen dann nach unten nachrutschen.

    Es sollen also zufällig Blöcke in zwei Zehnerreihen ausgegeben werden, dann nach links laufen und dann kommt wieder eine Reihe frei.

    Damit die Sache ein wenig netter ist, sollen die im Moment der Zerstörung befindlichen Farbblöcke durch eine Expolisionanimation destroyed werden.

    Natürlich wäre es schade ein Script zu coden, welches einfach nur 6 blaue und 4 gelbe Steine übereinander setzt. Es soll schon ein richtiges farbliches Muster der Reihen entstehen.

    Ich habe es bisher nur geschafft das die Blöcke created werden, aber nach Angabe von x und y. Also nicht zufällig...

    Außerdem soll der Spieler die erste Level bei einem Speed von -1 der Blöcke über eine Länge von 1 Minute schaffen.

    Oder er muß entsprechende Anzahl von Blöcken zerstören. (Das weiß ich noch nicht so genau).

    Die folgenden Level werden halt schwieriger (Entweder die Blöcke werden schneller oder er muß mehr Blöcke zerstören.)

    Dieses Spiel so einfach wie es ist, könnte lange Stunden am Bildschirm fesseln.

    Wäre super wenn ihr mir noch mal helft.

    Danke
    Was man mit Händen baut, kann auch mit Händen zerstört werden...