Brauche Hilfe bei mehreren gleichen Subimages in strips

  • GM 8
  • Brauche Hilfe bei mehreren gleichen Subimages in strips

    Hallo zusammen,

    ich hab da mal ne Frage.

    Ich habe eine Imagedatei "Symbols_strip8.png" Die Subimages werden per Zufalssprinzip ausgewertet.

    Beim Auswerten benutze ich

    GML-Quellcode

    1. for (i=0; i<8; i+=1)


    damit GM auch weiss welches Subimage welches ist.
    Jetzt habe ich folgende Frage:
    Angenommen Image_Index=0 und Image_Index=7 sind identische Symbole.
    Welche Variable muss ich anwenden, damit GM weiss das er das erste und letzte Symbol gleich macht.
    Also 0=7, und dies auch in der For i Variable korrekt erkannt wird.

    Danke im vorraus!

    Groni
  • Nein, das habe ich ja schon. Ich habe eine Slotmachine gebaut, und die Symbole werden auch schön per zufall dargestellt.
    Nur möchte ich bestimmte Symbole öfters erscheinen lassen, und da dachte ich mir, dass wenn ich den Strip verlänger, und
    diese ein paar mal mehr einfüge sollte das ja klappen. Also sagen wir das szbimage 0 und 8 die gleichen symbole sind. Nun
    muss ich ja GM sagen, das bei der Gewinnauswertung, symbol 0 und 8 gleich sind, also quasi wie ein symbol behandelt werden.

    Ich könnte zwar auch ne if schleife setzen wie "if obj_a1.image_index=0 or obj_a1.image_index=8" aber das wird etwas mühselig.
    Eine Variable die sagt das Symbol 0, 8 usw ein und das gleiche sind wäre da wohl einfacher.
  • Du könntest die Werte / nehmen z.b. für 8 unterschiedliche Bilder mit 4 hintereinander Bilder. (also 8x4=32 Bilder)

    GML-Quellcode

    1. var index;
    2. index=floor(image_index/4);

    So wäre es dann:
    0-3.999=0
    4-7.999=1
    8-12.999=2
    usw.
    (Ich hoffe ich lieg da richtig)
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • Na ja, du könntest das mit einem Swith-Statement machen, etwa in der Form:

    GML-Quellcode

    1. switch(image_index)
    2. {
    3. case 0: /*dein code wenn image_index 0 ist*/;break;
    4. case 1: /*wenn er 1 ist*/;break;
    5. case 2: /*wenn er 2 ist*/;break;
    6. ...
    7. case 8: /*der gleiche code wie bei 0*/;break;
    8. }

    Was anderes fällt mir grad nicht ein.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Alron ()

  • Alron schrieb:

    Na ja, du könntest das mit einem Swith-Statement machen, etwa in der Form:

    GML-Quellcode

    1. switch(image_index)
    2. {
    3. case 0: /*dein code wenn image_index 0 ist*/;break;
    4. case 1: /*wenn er 1 ist*/;break;
    5. case 2: /*wenn er 2 ist*/;break;
    6. ...
    7. case 8: /*der gleiche code wie bei 0*/;break;
    8. }

    Was anderes fällt mir grad nicht ein.

    muss ich da nicht den Bezug angeben für den Switch?? In dem Falle "symbol_strip8"??
  • das kann bei meinem Code nicht so ganz klappen

    GML-Quellcode

    1. for (i=0; i<8; i+=1)
    2. if (obj_a2.image_index=i and obj_b2.image_index=i and obj_c2.image_index=i and obj_d2.image_index=i and obj_e2.image_index=i)
    3. {
    4. line1win5=1
    5. }


    Wo oder wie sollte ich da ein case einbauen??

    [Zusammengeschoben von CAS]

    oder ich frage einfach mal anders. Ist es möglich zu bestimmen, wie oft ein Subimage auftauchen darf?
    Ich habe für eine Walze 3 Grafiken. (Obj_a1, Obj_a2, Obj_a3).
    Jedes Objekt benutzt die Symbolgrafik per zufallsprinzip.
    Ich habe Symbole die sollen mehrmals auftauchen bzw. oft. und ein bestimmtes Symbol soll selten auftauchen.
    kann man sowas steuern?