JirkaDellOro / Prima

Repository for the module "Prototyping interactive media-applications and games" at Furtwangen University
https://jirkadelloro.github.io/Prima
10 stars 17 forks source link

Statemachine Transit #60

Closed KohlerAl closed 2 years ago

KohlerAl commented 2 years ago

Hallo, ich habe doch nochmal eine Frage zu der Statemachine. Gestern im Workshop hat ja dann alles soweit funktioniert, heute habe ich aber einen Fehler. Und zwar möchte ich ja dass Goomba auf die Collision mit Mario seinen State ändert. Dazu habe ich ja den Listener in der Goomba Klasse, der dann transit der Statemachine aufruft. Jetzt zu meinem Problem: der Transit wird mir in der Konsole auch angezeigt, die Statemachine springt danach aber direkt wieder zurück in den Walk-State und es wird nie die actFight Methode aufgerufen. In meinem Slenderman-Script und auch in den Beispielen funktioniert es ja, den State zu ändern indem man transit mit dem jeweiligen Job aufruft. Wie bewege ich jetzt meinen Goomba dazu auch wirklich den State zu ändern?

https://kohleral.github.io/PRIMA/Super_Mario/index.html https://github.com/KohlerAl/PRIMA/tree/main/Super_Mario https://github.com/KohlerAl/PRIMA/blob/main/Super_Mario/Script/Source/Enemy.ts https://github.com/KohlerAl/PRIMA/blob/main/Super_Mario/Script/Source/Goomba.ts

JirkaDellOro commented 2 years ago

Du hast zwei Statemachines erschaffen:

            this.goombaStatemachine = new Enemy();
            this.addComponent(new Enemy());
KohlerAl commented 2 years ago

Oh je, danke für die Hilfe, jetzt gehts. Manchmal sieht man den Code nicht mehr richtig wenn man zu lange draufschaut...