improved character movement
This commit is contained in:
parent
75ac090453
commit
55fa5111c2
2 changed files with 17 additions and 13 deletions
22
hero.gd
22
hero.gd
|
@ -1,13 +1,15 @@
|
||||||
extends RigidBody2D
|
extends CharacterBody2D
|
||||||
|
|
||||||
@export var speed = 200.0
|
@export var speed = 100.0
|
||||||
|
@export var accel = 1000.0
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
if Input.is_action_pressed("up"):
|
var movement = Vector2(Input.get_axis("left", "right"), Input.get_axis("up", "down")) * speed
|
||||||
apply_force(Vector2.UP * speed * delta)
|
|
||||||
if Input.is_action_pressed("down"):
|
if abs(movement.x) > 0.1 and sign(movement.x) != sign(velocity.x):
|
||||||
apply_force(Vector2.DOWN * speed * delta)
|
velocity.x = 0
|
||||||
if Input.is_action_pressed("left"):
|
if abs(movement.y) > 0.1 and sign(movement.y) != sign(velocity.y):
|
||||||
apply_force(Vector2.LEFT * speed * delta)
|
velocity.y = 0
|
||||||
if Input.is_action_pressed("right"):
|
|
||||||
apply_force(Vector2.RIGHT * speed * delta)
|
velocity = velocity.move_toward(movement, accel * delta)
|
||||||
|
move_and_slide()
|
||||||
|
|
|
@ -22,11 +22,11 @@ position = Vector2(788, 69)
|
||||||
rotation = 1.56094
|
rotation = 1.56094
|
||||||
blackboard = NodePath("../Blackboard")
|
blackboard = NodePath("../Blackboard")
|
||||||
|
|
||||||
[node name="Hero" type="RigidBody2D" parent="." groups=["Hero"]]
|
[node name="Hero" type="CharacterBody2D" parent="." groups=["Hero"]]
|
||||||
position = Vector2(545, 223)
|
position = Vector2(545, 223)
|
||||||
mass = 0.1
|
motion_mode = 1
|
||||||
script = ExtResource("3_fmhqm")
|
script = ExtResource("3_fmhqm")
|
||||||
speed = 2000.0
|
speed = 300.0
|
||||||
|
|
||||||
[node name="Body" type="CollisionShape2D" parent="Hero"]
|
[node name="Body" type="CollisionShape2D" parent="Hero"]
|
||||||
shape = SubResource("CircleShape2D_eiiek")
|
shape = SubResource("CircleShape2D_eiiek")
|
||||||
|
@ -35,3 +35,5 @@ shape = SubResource("CircleShape2D_eiiek")
|
||||||
texture_filter = 1
|
texture_filter = 1
|
||||||
scale = Vector2(1.21875, 1.21875)
|
scale = Vector2(1.21875, 1.21875)
|
||||||
texture = ExtResource("4_svfrs")
|
texture = ExtResource("4_svfrs")
|
||||||
|
|
||||||
|
[node name="AnimatableBody2D" type="AnimatableBody2D" parent="Hero"]
|
||||||
|
|
Loading…
Reference in a new issue