forked from team-sg/hero-mark-2
several bones to pick with skelarchers :)
This commit is contained in:
parent
e4b7dd435c
commit
3b1d2b4068
4 changed files with 72 additions and 6 deletions
19
objects/enemy/bone_particle.tscn
Normal file
19
objects/enemy/bone_particle.tscn
Normal file
|
@ -0,0 +1,19 @@
|
|||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://graphics/enemy/bone.png" type="Texture" id=1]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id=2]
|
||||
bounce = 0.75
|
||||
|
||||
[sub_resource type="SegmentShape2D" id=1]
|
||||
a = Vector2( 0, -2 )
|
||||
b = Vector2( 0, 2 )
|
||||
|
||||
[node name="BoneParticle" type="RigidBody2D"]
|
||||
physics_material_override = SubResource( 2 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
texture = ExtResource( 1 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource( 1 )
|
|
@ -1,21 +1,22 @@
|
|||
extends "res://objects/enemy/enemy.gd"
|
||||
|
||||
const ArrowProjectile = preload("res://objects/player/arrow_projectile.tscn")
|
||||
const BoneParticle = preload("res://objects/enemy/bone_particle.tscn")
|
||||
const arrowpos = Vector2(4,4)
|
||||
|
||||
export var shoot_time = 1.0
|
||||
export var arrow_speed = 120.0
|
||||
# bone death particles
|
||||
export var bones_amount = 12
|
||||
export var bones_speed = 50.0
|
||||
|
||||
onready var timer = $Timer
|
||||
onready var anims = $AnimationPlayer
|
||||
onready var sprite = $Sprite
|
||||
|
||||
const ArrowProjectile = preload("res://objects/player/arrow_projectile.tscn")
|
||||
const arrowpos = Vector2(4,4)
|
||||
|
||||
func _ready():
|
||||
timer.start(shoot_time)
|
||||
|
||||
func _process(delta):
|
||||
Debug.print(Game.get_map())
|
||||
|
||||
func _on_Timer_timeout():
|
||||
anims.play("shoot")
|
||||
|
||||
|
@ -30,3 +31,14 @@ func spawn_arrow():
|
|||
arrow.speed = arrow_speed
|
||||
Game.get_map().add_child(arrow)
|
||||
timer.start(shoot_time)
|
||||
|
||||
func die():
|
||||
for n in bones_amount:
|
||||
var bone = BoneParticle.instance()
|
||||
bone.rotation = rand_range(0.0, 2.0*PI) # random rotation
|
||||
bone.global_position = global_position
|
||||
bone.linear_velocity = Vector2(bones_speed, 0.0).rotated(rand_range(-PI, 0.0))
|
||||
var timer = get_tree().create_timer(3.0 + rand_range(0.0, 1.0), false)
|
||||
timer.connect("timeout", bone, "queue_free")
|
||||
get_parent().add_child(bone)
|
||||
.die() # call rest of enemy.gd die() funciton
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue