1-- Explosion enemy. Just an explosion. 2 3local enemy = ... 4local game = enemy:get_game() 5local map = enemy:get_map() 6local sound = "explosion" -- Default explosion sound. 7 8-- Event called when the enemy is initialized. 9function enemy:on_created() 10 11 -- Initialize the properties of your enemy here, 12 -- like the sprite, the life and the damage. 13 enemy:prepare_explosion_sprite() 14 enemy:set_invincible() -- Invincible!!! 15 enemy:set_life(1) 16 enemy:set_damage(12) -- Damage: 3 full hearts!!! 17 enemy:set_layer_independent_collisions(true) -- Detect collisions from any layer. 18 -- Play explosion sound!!! 19 sol.audio.play_sound(sound) 20end 21 22-- Prepare sprite. Parameters are optional. 23function enemy:prepare_explosion_sprite(sprite_id, sprite_animation, direction) 24 -- Remove previous sprite. 25 local explosion_sprite = self:get_sprite() 26 if explosion_sprite then self:remove_sprite(explosion_sprite) end 27 -- Create new sprite. 28 local id = sprite_id or "destructibles/vase_purple" 29 local animation = sprite_animation or "destroy" 30 local dir = direction or 0 31 explosion_sprite = self:create_sprite(id) 32 explosion_sprite:set_animation(animation) 33 explosion_sprite:set_direction(dir) 34 -- Remove explosion after explosion animation. 35 function explosion_sprite:on_animation_finished() 36 enemy:remove() 37 end 38end 39