godot-start/scene/demo07_collision/script/characterBody2D.gd

31 lines
872 B
GDScript
Raw Permalink Normal View History

2023-11-18 04:36:34 +00:00
extends CharacterBody2D
# How fast the player will move (pixels/sec).
@export var speed = 400
# Size of the game window.
var screen_size
func _ready():
screen_size = get_viewport_rect().size
func _physics_process(delta):
var velocity = Vector2.ZERO # The player's movement vector.
if Input.is_action_pressed("move_right"):
velocity.x += 1
if Input.is_action_pressed("move_left"):
velocity.x -= 1
if Input.is_action_pressed("move_down"):
velocity.y += 1
if Input.is_action_pressed("move_up"):
velocity.y -= 1
if velocity.length() <= 0:
return
velocity = velocity.normalized() * speed
# false这个选项参数看意思是把无限惯性关了这个关了之后就不会向碰撞的刚体施加作用力需要你自己去写
var info: KinematicCollision2D = move_and_collide(velocity * delta)
if info != null:
print(info.get_collider())