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
BIN
graphics/enemy/bone.png
Normal file
BIN
graphics/enemy/bone.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 578 B |
35
graphics/enemy/bone.png.import
Normal file
35
graphics/enemy/bone.png.import
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/bone.png-2137b92417f1b30af907afa9deaf8132.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://graphics/enemy/bone.png"
|
||||||
|
dest_files=[ "res://.import/bone.png-2137b92417f1b30af907afa9deaf8132.stex" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_mode=0
|
||||||
|
compress/bptc_ldr=0
|
||||||
|
compress/normal_map=0
|
||||||
|
flags/repeat=0
|
||||||
|
flags/filter=false
|
||||||
|
flags/mipmaps=false
|
||||||
|
flags/anisotropic=false
|
||||||
|
flags/srgb=2
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/HDR_as_SRGB=false
|
||||||
|
process/invert_color=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
stream=false
|
||||||
|
size_limit=0
|
||||||
|
detect_3d=true
|
||||||
|
svg/scale=1.0
|
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"
|
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 shoot_time = 1.0
|
||||||
export var arrow_speed = 120.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 timer = $Timer
|
||||||
onready var anims = $AnimationPlayer
|
onready var anims = $AnimationPlayer
|
||||||
onready var sprite = $Sprite
|
onready var sprite = $Sprite
|
||||||
|
|
||||||
const ArrowProjectile = preload("res://objects/player/arrow_projectile.tscn")
|
|
||||||
const arrowpos = Vector2(4,4)
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
timer.start(shoot_time)
|
timer.start(shoot_time)
|
||||||
|
|
||||||
func _process(delta):
|
|
||||||
Debug.print(Game.get_map())
|
|
||||||
|
|
||||||
func _on_Timer_timeout():
|
func _on_Timer_timeout():
|
||||||
anims.play("shoot")
|
anims.play("shoot")
|
||||||
|
|
||||||
|
@ -30,3 +31,14 @@ func spawn_arrow():
|
||||||
arrow.speed = arrow_speed
|
arrow.speed = arrow_speed
|
||||||
Game.get_map().add_child(arrow)
|
Game.get_map().add_child(arrow)
|
||||||
timer.start(shoot_time)
|
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