Hallo liebe gm-d Community, mein erster Post hurray.
Ich (Anfänger) versuche mich gerade an einem 2d Shooter/Platformer und bin gerade dabei dem Spieler ein Mündungsfeuer zu implementieren und habe dafür 2 Vorstellungen zur Umsetzung, jedoch weiß ich weder für die eine noch für die andere eine Lösung.

Ansatz1(der bessere): Die beste Lösung wäre die, dass die Animation vom Mündungsfeuer dem Spieler folgt. Aktuell erstelle ich die Animation ja genau an einem Punkt und dort läuft sie dann einmal kurz ab. Das sieht aber blöd aus, zumindest wenn man sich bewegt, wie man sich denken kann und auch auf dem Bild oben zu sehen ist.
Ansatz2(notlösung, aber auch interessant zu wissen für mich): Pro Schuß immer nur ein zufälliges Frame der Animation kurz zu zeigen. Aber ich kann nichts finden in der Game Maker Dokumentation, wie man mit der instance_create Funktion halt nur ein bestimmtes Frame der Animation spielt.
Mein aktuelles Skript dafür:
Spoiler anzeigen
Alles anzeigen
Wäre toll wenn ihr ein paar Lösungsansätze parat hättet.
Vielen Dank schonmal im voraus.
Ich (Anfänger) versuche mich gerade an einem 2d Shooter/Platformer und bin gerade dabei dem Spieler ein Mündungsfeuer zu implementieren und habe dafür 2 Vorstellungen zur Umsetzung, jedoch weiß ich weder für die eine noch für die andere eine Lösung.

Ansatz1(der bessere): Die beste Lösung wäre die, dass die Animation vom Mündungsfeuer dem Spieler folgt. Aktuell erstelle ich die Animation ja genau an einem Punkt und dort läuft sie dann einmal kurz ab. Das sieht aber blöd aus, zumindest wenn man sich bewegt, wie man sich denken kann und auch auf dem Bild oben zu sehen ist.
Ansatz2(notlösung, aber auch interessant zu wissen für mich): Pro Schuß immer nur ein zufälliges Frame der Animation kurz zu zeigen. Aber ich kann nichts finden in der Game Maker Dokumentation, wie man mit der instance_create Funktion halt nur ein bestimmtes Frame der Animation spielt.
Mein aktuelles Skript dafür:
Quellcode
- //Shooting
- if (canshoot) = true
- if keyboard_check(ord("D")) || (gamepad_button_check(0,gp_face3))
- {
- canshoot = false;
- alarm[1] = 12;
- if image_xscale = 1
- {
- with (instance_create(x+20,y-2,obj_muzzlefire_right)) {image_speed = 0.3};
- alarm[2] = 8;
- thing = instance_create(x+16,y-2,obj_lasershot_lev1_right);
- thing.vspeed = 8;
- thing.direction = 0;
- }
- else
- {
- with (instance_create(x-20,y-2,obj_muzzlefire_left)) {image_speed = 0.3};
- alarm[2] = 8;
- thing = instance_create(x-16,y-2,obj_lasershot_lev1_left);
- thing.vspeed = 8;
- thing.direction = 180;
- }
- }
Wäre toll wenn ihr ein paar Lösungsansätze parat hättet.
Vielen Dank schonmal im voraus.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von zhe73 ()