Neben meinem Upgrade-Problem habe ich noch folgendes: Ich möche, nachdem ein Gegner getroffen wurde, diesen mit einer Animation sterben lassen. Er verschwindet, aber die Animation fehlt. Was muss ich machen, um die Animation einzufügen?
Animation nach Tod
- GM 8
-
-
gieb mal die datein hier rein alos gmk dateiDie deutsche Sprache ist Freeware, Du kannst sie benutzen, ohne dafür zu bezahlen.
Sie ist aber nicht Open Source, also darfst Du sie nicht verändern, wie es Dir gerade passt -
pm-007:
Warum ist das ein grund seine source zu posten? oO
Ich würd beim destroyen ein object an der grad destroyten position erstellen also z.b.
obj_monster_destroy
der eine animation hat und danach sich selber nochmal zerstört^^ -
pm-007 schrieb:
gieb mal die datein hier rein alos gmk datei
@PhenomStudios: Lass die Animation einfach im Destroy-Event abspielen.
Edit: Zu Spät^^ -
Ich verstehe nicht ganz... Kann ich vielleicht "Change Sprite" benutzen, dann die Sleep-Funktion solange wie die Animation dauert, und dann Delete Instance?
-
-
Mit deinem Code kommt nur eine Fehlermeldung. Ich habe es mit dieser Sleep-Funktion versucht, aber dabei stoppt das ganze Game. Ich brauche etwas, was die Animation nur einmal (1 Sek) abspielen lässt, und danach die ganze Instanz löscht.
-
ich mach sowas meistens folgendermaßen:
1. beim sprite fürs sterben das letzte image 1-2mal hintendran kopieren
also wenn du vorher 14 bilder in der animation hast, danach dann 16..
dann kannst du beim auslösen der sterbeanimation einfach nutzen
sprite_index = sprite_sterben
im stepevent kannst du dann einfach schreiben:
sollte dann ganz gut funktionieren
mfg
HIM
edit... ohh D&D einsteiger... hmm.. also damit kenn ich mich garnicht aus, hab ich nie genutzt...
oder nutzt du doch schon GML und hast nur dein profil nicht aktualisiert? -
Ich kann Codes einbauen, aber selbst schreiben nicht... Das könnte ich höchstens bei CoD4.
Lässt dein Code die Animation genau einmal abspielen? So brauche ich es nämlich.Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von PhenomStudios ()
-
alles klar
ja, mein code zerstört das objekt nachdem die animations zum 1. mal ein
bestimmtes bild erreicht hat. das einzige was du noch tun musst ist den
richtigen namen des sprites für "sprite_sterben" einzusetzen
und die 14 so ändern, dass es für dein sprite passt.
wie du das sprite auf sprite_sterben wechselst weißt du? -
Das Explosionsbild hat 9 Bilder, also habe ich es im Code auf 7 gesetzt. Bei Beschuss passiert nichts, nur bei Kollision startet der Raum neu.
-
dann soll also beim beschuss das sprite geändert werden?
hast du das über ein kollisionsevent gemacht?
wenn ja dann schreib da einfach noch mit rein (beim sterbenden objekt)
und alles was dann nach dem sterben passiert schreibst du
dann noch zu dem vorherigen code mit dem ... && image_index = 7 ...
dazu. -
Der letzte Code ganz zum Anfang?
-
-
Quellcode
- Information about object: enemy_redbee
- Sprite: enemy_redbee
- Solid: true
- Visible: true
- Depth: 0
- Persistent: false
- Parent: <no parent>
- Mask: <same as sprite>
- Collision Event with object player_a:
- destroy the instance
- execute code:
- if sprite_index = anim_explosion && image_index >= 7
- {instance_destroy()}
- set the score relative to 25
- set the number of lives relative to -1
- restart the current room with transition effect Blend
- Collision Event with object player_a_shot:
- for other object: destroy the instance
- execute code:
- if sprite_index = anim_explosion && image_index >= 7
- {instance_destroy()}
- set the score relative to 25
- Other Event: Outside Room:
- destroy the instance
- Other Event: Room Start:
- set the horizontal speed to -30
Das dürfte erstmal reichen... -
ok, ja, das reicht.
in
Collision Event with object player_a:
destroy the instance
execute code:
muss nur folgendes rein
das destroy the instance muss weg
und auch das
if sprite_index = anim_explosion && image_index >= 7
{instance_destroy()}
muss weg, das kommt ins step-event.
im step event:
das gleiche schreibst du auch bei deinem player ins stepevent
bei dem hier
Collision Event with object player_a_shot:
for other object: destroy the instance
execute code:
kommt nur das hier
if sprite_index = anim_explosion && image_index >= 7
{instance_destroy()}
weg.
so, ich hoffe du verstehst alles so wie ich es meinteist ja doch recht kompliziert ausgedrückt aber es klappt gerade nicht besser
-
Warum so kompliziert?
[hide=Bild][/hide]
Es gibt eine Explosions-/Effekteoption, damit läuft es problemlos... Jetzt fehlt noch folgendes: Das Upgrade-System muss laufen, ich will ein Bild einblenden/ausblenden lassen, die Score/Lives anzeigen, und das Hauptmenü. -
Ich habe aus meiner GIF-Animation einen PNG-Strip gemacht, nur jetzt zeigt er den Alphakanal grün an. Wenn ich einen anderen Strip nehme bleibt er normal?
-
Dien Instance_destroy nach der score und explosions effekt ;)
-
naja, so kompliziert deshalb, weil du das als animation haben wolltest
aber wenn du mit dem effekt auch zufrieden bist, dann passts ja
-
Benutzer online 1
1 Besucher