Godotでマウスクリックした箇所にSpriteを移動させる
https://gyazo.com/1a0d48fa19d325000fda70707c9f4b08
マウスクリックした箇所に定速度で移動する、単純な処理
code:move.py
extends KinematicBody2D
export (int) var speed = 200
var target = Vector2()
var velocity = Vector2()
func _input(event):
if event.is_action_pressed("click"):
target = get_global_mouse_position()
func _physics_process(delta):
velocity = position.direction_to(target) * speed
# look_at(target)
if position.distance_to(target) > 5:
velocity = move_and_slide(velocity)
プロジェクト設定のインプットで、"click" イベントをマウスクリックに紐づけておかないとエラーになるので注意
position.distance_to(target) > 5: の制御を入れておかないと、到着地点でガタガタ動く
get_global_mouse_position() でマウスの位置がすぐ取得できるのは便利
position.direction_to(target) で、自分の現在地(position)から target への向きの Vector2() が取得できる