Unterschiedliche Reaktionen bei gleichen Anweisungen??

  • GM 8
  • Unterschiedliche Reaktionen bei gleichen Anweisungen??

    Hallo, Leute, ich hab da in meinem Programm ein riesengroßes Problem und verstehe einfach nicht, wo ich noch ansetzen soll, um das Problem zu lösen.
    Ist auch schwierig, zu erklären, aber ich versuche es trotzdem mal:

    ich habe 2 verschiedene Spielstein-Modi: normale Steine und inverserve Steine. Die Steine werden invers, wenn der Spiele seine Maus drauf stellt, aber noch nicht klickt (wird im Step-Event abgefragt). Nennen wir die normalen Spielsteine jetzt mal obj_rot, obj_blau usw. Und die inversen obj_rot_invers, obj_blau_invers etc.
    Beide haben dasselbe parent-object, beide haben den Status solid.

    Nun kommt es zu einer Kollision mit dem obj_pfeil. Hier haben alle Spielsteine dieselben Anweisungen stehen: wenn der Pfeil auftrifft, Sound abspielen, Spielstein löschen, Punkte raufzählen, Pfeil zischt weiter usw. Bei den "normalen" Spielsteinen obj_blau etc. klappt das auch prima, bei den inversen Spielsteinen (obj_blau_invers) jedoch verwandelt sich offenbar der Pfeil in so einen Spielstein und zischt als solcher plötzlich durch die Gegend - bis das Spiel sich irgendwann aufhängt.

    Ehrlich gesagt, verstehe ich nicht, was da passiert. Der einzige Unterschied zwischen den beiden Spiel-Steinen ist doch, dass der Spieler seine Maus drauf stehen hat, sonst wäre der Stein ja nicht invers. Aber der Spieler klickt nicht. Aber das allein kann doch keinen Einfluss auf das Spielgeschehen haben - oder irgendwie doch??

    Kann mir irgendjemand vielleicht sagen, wo da der Fehler liegen könnte? Ich hab schon mehr als 10 mal alles durchsucht, ich finde die Ursache nicht. Hab auch schon versucht, mal solid rauszunehmen, aber das nutzte auch nichts. Außer, dass dann das Spiel natürlich nicht mehr richtig läuft, weil darauf aufgebaut.

    Vielleicht liegt der Fehler ja auch ganz woanders, ich weiß aber wirklich nicht mehr weiter und bin für jeden Hinweis, wo ich noch suchen soll, dankbar!
    Gruß CB
  • mar96k schrieb:

    Lad doch mal ein Example hoch damit man dein Problem sehen kann. Ich verstehe es nicht so ganz.


    Mhm, das wird ein Problem, das Spiel ist fast fertig und umfasst bereits mehrere MB. Ich kann ja jetzt unmöglich verlangen, dass sich Leute die ellenlangen Codes da reinziehen. Entweder, ich versuche, das mal extrem auszudünnen oder vielleicht hat ja jemand noch einen Tipp für mich, wo ich nach dem Fehler suchen kann.

    CB

    So, mit viel Ach und Krach hab ich jetzt alles rausgeworfen,was nicht unbedingt erforderlich ist. Zur Vorgehensweise:

    Lade Dir die Datei "ausgeduennt.zip" mal runter und starte das Programm.
    Klicke dann auf ein paar Diamanten, damit rechts am Rand eine Spinne erscheint. Wenn Du nun auf die Spinne klickst:
    schickt sie einen Pfeil aus, der gleichfarbige Diamanten entfernt. Beobachte das mal. Und dann schicke mal einen Pfeil los und halte anschließend die Maus auf die Diamanten, durch die der geht. Dann passiert das Komische, dass der Pfeil sich in Diamanten verwandelt und durch das Spielfeld incl. der Mauern braust - bis sich das Programm aufhängt. GGf. öfter probieren.
    Meiner Meinung nach muss das irgendwas mit dem Step-Event zu tun haben, aber ich kann die Ursache einfach nicht finden.
    Beide, die normalen Diamanten und die inversen Diamenten haben die bei Kollision mit dem Pfeil die gleichen Anweisungen. Warum geht das also einmal und einmal nicht?
    Das obj_spinne findet sich übrigens unter "powerups", ebenso wie die Pfeile.
    Wer bitte kann hier helfen??

    Danke schon mal im voraus;
    CB

    Ach ja: da ich etliche Anweisungen gelöscht habe, sind jetzt natürlich andere Anweisungen leer oder fehlerhaft, also nur nicht wundern...
    Dateien
    • ausgeduennt.zip

      (923,53 kB, 129 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Counter-Bike ()

  • Also der Fehler ist wirklich nicht zu finden. Ich habe das ganze ding x mal durch sucht und habe auch nichts gefunden.
    Was ich beobahcten konnte war das als mal wieder ein Pfeil zu einem Diamant wurde und "mit gezogen wurd" oder wie auch immer man das nun nennen will.
    Und in den Reihen dahinter schin keine Diamanten mehr waren. Zb weil ich sie vorher schon abgebaut hatte.
    Ist der Pfeil/Diamanten mix nicht nur nach link sondern auch als die Lücke war. 1 Feld nach unten gerutscht.
    ICh hatte auch versucht die Priorität des GMauf sehr Hoch zu stellen. Aber es kommt ein fast so vor als würde ein mix enstehen.
    Es ist in der Tat sehr merkwürdig. zum mal kein Pfeil auch nur ansatzt weise ein instance_change befehl in sich trägt.
    Meine Signatur hat kein Visum für das GM Forum erhalten.
  • ja, danke für die Mühe, x-sascha. Leider hilft mir das jetzt auch nicht weiter. Irgendwo muss es aber einen Fehler geben, sonst würde so was ja nicht passieren...
    Vielleicht nimmst sich das Programmteil ja noch jemand mal vor...

    Thx, CB

    Tage später: kann denn wirklich niemand helfen? Ich verzweifel hier fast. Kann nur folgendes dazu sagen: mit dem Collision-Event hat das Ganze gar nichts zu tun, denn wenn ich das rausnehme und nur die Pfeile laufen lasse, passiert das Gleiche... *seufz*
    Ich habe die Step-Events in den Diamanten in Verdacht, aber ich weiß nicht, wo genau der Fehler liegt und wie ich ihn vermeiden kann. Jedenfalls kann ich die Step-Events dort nicht weglassen - sie sind die Grundfunktion des ganzen Programms...
    CB


    Noch mal edit:

    Also ich hab jetzt eine "Notlösung" für mich gefunden, indem ich den Pfeilen auch ein Parent verpasst habe und den Step der Diamanten nur ausführen lasse, wenn kein Pfeil unterwegs ist. Ist zwar nicht die ultimative Lösung, aber erst mal geht es. Falls doch noch jemand die genaue Ursache herausfinden sollte - ich bin ganz Ohr... ;)
    Gruss CB

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Counter-Bike ()

  • Benutzer online 1

    1 Besucher