Compare commits
No commits in common. '90500c2ee1c6d49264f51aff4f37f67c69877bc7' and '54bf676493d7b28a1b2d16310f26a9a3c2c73d64' have entirely different histories.
90500c2ee1
...
54bf676493
@ -1,35 +0,0 @@ |
|||||||
extends CharacterBody2D |
|
||||||
|
|
||||||
class_name Npc |
|
||||||
|
|
||||||
const SPEED = 100 |
|
||||||
const MINIMUM_STATE_DURATION = 3 |
|
||||||
|
|
||||||
const STATES = ['panic'] |
|
||||||
|
|
||||||
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity") |
|
||||||
var direction = 0 |
|
||||||
|
|
||||||
func _ready(): |
|
||||||
pick_new_direction() |
|
||||||
$fsm.set_states(STATES) |
|
||||||
|
|
||||||
func panic_state(delta): |
|
||||||
if is_on_wall(): |
|
||||||
direction *= -1 |
|
||||||
|
|
||||||
var should_update = ( |
|
||||||
$fsm.state_duration >= MINIMUM_STATE_DURATION |
|
||||||
&& ceil($fsm.state_duration) % 2 == (randi() %2) |
|
||||||
) |
|
||||||
|
|
||||||
if should_update: |
|
||||||
pick_new_direction() |
|
||||||
$fsm.state_duration = 0 |
|
||||||
|
|
||||||
velocity.x = direction |
|
||||||
velocity.y += gravity * delta |
|
||||||
move_and_slide() |
|
||||||
|
|
||||||
func pick_new_direction(): |
|
||||||
direction = [1,-1][randi_range(0,1)] * SPEED |
|
||||||
|
Before Width: | Height: | Size: 1.0 KiB |
@ -1,34 +0,0 @@ |
|||||||
[remap] |
|
||||||
|
|
||||||
importer="texture" |
|
||||||
type="CompressedTexture2D" |
|
||||||
uid="uid://bm258xfujps7e" |
|
||||||
path="res://.godot/imported/npc.png-6ab5db0d3e525d0fae0b471428195d99.ctex" |
|
||||||
metadata={ |
|
||||||
"vram_texture": false |
|
||||||
} |
|
||||||
|
|
||||||
[deps] |
|
||||||
|
|
||||||
source_file="res://nodes/npc/npc.png" |
|
||||||
dest_files=["res://.godot/imported/npc.png-6ab5db0d3e525d0fae0b471428195d99.ctex"] |
|
||||||
|
|
||||||
[params] |
|
||||||
|
|
||||||
compress/mode=0 |
|
||||||
compress/high_quality=false |
|
||||||
compress/lossy_quality=0.7 |
|
||||||
compress/hdr_compression=1 |
|
||||||
compress/normal_map=0 |
|
||||||
compress/channel_pack=0 |
|
||||||
mipmaps/generate=false |
|
||||||
mipmaps/limit=-1 |
|
||||||
roughness/mode=0 |
|
||||||
roughness/src_normal="" |
|
||||||
process/fix_alpha_border=true |
|
||||||
process/premult_alpha=false |
|
||||||
process/normal_map_invert_y=false |
|
||||||
process/hdr_as_srgb=false |
|
||||||
process/hdr_clamp_exposure=false |
|
||||||
process/size_limit=0 |
|
||||||
detect_3d/compress_to=1 |
|
||||||
@ -1,24 +0,0 @@ |
|||||||
[gd_scene load_steps=5 format=3 uid="uid://dvx48q5ecyxjs"] |
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://nodes/npc/npc.gd" id="1_38jh5"] |
|
||||||
[ext_resource type="Texture2D" uid="uid://bm258xfujps7e" path="res://nodes/npc/npc.png" id="1_hgsqd"] |
|
||||||
[ext_resource type="Script" path="res://scripts/ia/fsm.gd" id="3_vhp64"] |
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_f223n"] |
|
||||||
radius = 4.0 |
|
||||||
height = 14.0 |
|
||||||
|
|
||||||
[node name="npc" type="CharacterBody2D"] |
|
||||||
script = ExtResource("1_38jh5") |
|
||||||
|
|
||||||
[node name="shape" type="CollisionShape2D" parent="."] |
|
||||||
rotation = 1.5708 |
|
||||||
shape = SubResource("CapsuleShape2D_f223n") |
|
||||||
|
|
||||||
[node name="sprite" type="Sprite2D" parent="."] |
|
||||||
scale = Vector2(0.5, 0.5) |
|
||||||
texture = ExtResource("1_hgsqd") |
|
||||||
|
|
||||||
[node name="fsm" type="Node2D" parent="." node_paths=PackedStringArray("root")] |
|
||||||
script = ExtResource("3_vhp64") |
|
||||||
root = NodePath("..") |
|
||||||
Loading…
Reference in new issue