diff --git a/Asteroid.gd b/Asteroid.gd index eb35e0b..035cc42 100644 --- a/Asteroid.gd +++ b/Asteroid.gd @@ -1,5 +1,7 @@ extends KinematicBody2D +var ExplosionEffect = load("res://ExplosionEffect.tscn") + var rect = Rect2(0, 0, 0, 0) var velocity = Vector2(0, 0) var rot_vel = 0 @@ -31,6 +33,10 @@ func wrap(v, v_min, v_max): return v func on_explode(): + # create bullet impact + var new_ee = ExplosionEffect.instance() + get_tree().get_root().add_child(new_ee) + new_ee.set_global_pos(get_global_pos()) queue_free() func do_damage(v): diff --git a/Bullet.gd b/Bullet.gd index bcb6cdf..09722ae 100644 --- a/Bullet.gd +++ b/Bullet.gd @@ -5,13 +5,13 @@ var BulletImpact = load("res://BulletImpact.tscn") var velocity = Vector2(1, 0) var lifetime = 16 # seconds -var bullet_dmg = 0.25 +var bullet_dmg = 25 onready var sprite = get_node("Sprite") func _ready(): set_fixed_process(true) - + func fire(delta, vel, dir, speed): velocity = (vel.length() * dir + (dir * speed * delta)) sprite.set_rot(dir.angle()) diff --git a/ExplosionEffect.gd b/ExplosionEffect.gd new file mode 100644 index 0000000..2216acd --- /dev/null +++ b/ExplosionEffect.gd @@ -0,0 +1,15 @@ +extends Sprite + +var current_time = 0 +var frames_per_second = 0.05 + +func _ready(): + set_process(true) + +func _process(delta): + + if int(current_time / frames_per_second) >= get_hframes() - 1: + queue_free() + + set_frame(int(current_time / frames_per_second)) + current_time += delta \ No newline at end of file diff --git a/ExplosionEffect.tscn b/ExplosionEffect.tscn new file mode 100644 index 0000000..28ba00b --- /dev/null +++ b/ExplosionEffect.tscn @@ -0,0 +1,13 @@ +[gd_scene load_steps=3 format=1] + +[ext_resource path="res://raw/explosion_1.png" type="Texture" id=1] +[ext_resource path="res://ExplosionEffect.gd" type="Script" id=2] + +[node name="ExplosionEffect" type="Sprite"] + +texture = ExtResource( 1 ) +hframes = 8 +region_rect = Rect2( 0, 0, 32, 32 ) +script/script = ExtResource( 2 ) + + diff --git a/raw/explosion_1.ase b/raw/explosion_1.ase new file mode 100644 index 0000000..53e0ed5 --- /dev/null +++ b/raw/explosion_1.ase @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b900489b98c048ae8c0891147a23232788780d5aececd7ee23b8563874dc694a +size 5525 diff --git a/raw/explosion_1.png b/raw/explosion_1.png new file mode 100644 index 0000000..020ae42 Binary files /dev/null and b/raw/explosion_1.png differ diff --git a/raw/explosion_1.png.flags b/raw/explosion_1.png.flags new file mode 100644 index 0000000..226e8a3 --- /dev/null +++ b/raw/explosion_1.png.flags @@ -0,0 +1,2 @@ +filter=false +gen_mipmaps=false