2016-06-13 15 views
0

ich fünf Objekte haben: obj_Boss, obj_bossHealth, obj_GameOver, obj_BtnOK und obj_rec2. DieseGame Maker - Erstellen Instanz Wenn Gesundheit Ist 0

ist das, was ich will. Wenn obj_Boss nicht mehr die Gesundheit hat, obj_GameOver und obj_BtnOK erscheinen.

Diese meine erste Methode ist:

In obj_bossHealth, ich habe diese Ereignisse:

Ereignis erstellen: Set var global.bossHealth to 100

Draw Veranstaltung: draw_healthbar

In obj_Boss habe ich diese Ereignisse:

Kollision mit obj_rec2: set var global.bossHealth relative to -1.5; zerstören die Instanz (andere)

No More Health: create Instanz obj_GameOver; Erstellen Instanz obj_BtnOK

Dies ist meine zweite Methode:

In obj_bossHealth, habe ich diese Ereignisse:

Termin eintragen: set var global.bossHealth to 100

Draw Veranstaltung: draw_healthbar

Schritt Selbst t: wenn global.bossHealth is equal to 0 dann Instanz obj_GameOver erstellen und erstellen Instanz obj_BtnOK

In obj_Boss, ich habe diese Ereignisse:

Kollision mit obj_rec2: set var global.bossHealth relative to -1.5; zerstört die Instanz (andere)

Das Ergebnis beiden Methoden:

obj_GameOver und obj_BtnOK nicht angezeigt. Wie kann ich das beheben? Bitte erläutern Sie Ihre Antwort. Vielen Dank.

Ich füge einige Bilder: method1method2

Antwort

0

Ich habe meinen Fehler bereits bekannt.

Ich kann nicht meine erste Methode verwenden. Weil ich eine Variable global.bossHealth mache und diese Variable bei jedem Zusammenstoß um 1.5 reduziere. Aber ich habe Ereignis No More Health, das immer noch auf Wert 100 ist.

Ich benutze meine zweite Methode. In meiner Frage reduziere ich die global.bossHealth um 1.5. Aber, 100 ist nicht durch 1.5 teilbar. So werden die Bedingungen if global.bossHealth is equal to 0 niemals True sein. Ich ändere die Aktionen in Step Event. Ich ändere if global.bossHealth is equal to 0 in . Welche less than 0 kann True sein.