add some enemy behavior prototypes

This commit is contained in:
2022-07-21 00:05:08 -04:00
parent 31003a2863
commit 948f4ce911
20 changed files with 268 additions and 34 deletions

View File

@@ -0,0 +1,27 @@
extends KinematicBody2D
signal player_touched
onready var start_position = position
var velocity = Vector2()
export var speed = 50.0
export var fall_speed = 75.0
var return_to_start: bool = false
func _physics_process(delta: float) -> void:
if return_to_start:
position = position.move_toward(start_position, speed * delta)
else:
var collision = move_and_collide(Vector2(0, (position.y + fall_speed) * delta))
if collision:
return_to_start = true
$AnimatedSprite.play("normal")
if collision.collider.name == "Player":
emit_signal("player_touched")
if position.y <= start_position.y:
return_to_start = false
$AnimatedSprite.play("angry")

View File

@@ -1,6 +1,7 @@
[gd_scene load_steps=6 format=2]
[gd_scene load_steps=7 format=2]
[ext_resource path="res://assets/characters/characters.png" type="Texture" id=1]
[ext_resource path="res://characters/enemies/blockface/Blockface.gd" type="Script" id=2]
[sub_resource type="AtlasTexture" id=1]
atlas = ExtResource( 1 )
@@ -26,9 +27,10 @@ animations = [ {
[sub_resource type="RectangleShape2D" id=4]
extents = Vector2( 9, 9 )
[node name="Blockface" type="KinematicBody2D"]
[node name="Blockface" type="KinematicBody2D" groups=["enemy", "rideable"]]
collision_layer = 8
collision_mask = 11
script = ExtResource( 2 )
[node name="AnimatedSprite" type="AnimatedSprite" parent="."]
frames = SubResource( 3 )