godot 4 全局自定义信号,发射信号并携带参数
- 全局信号
extends Node
# 定义确实移动参数
signal character_move(dest_position:Vector2)
- 角色处理
extends CharacterBody2D
@export var speed:int = 100
func _ready():
GlobalSignal.connect("character_move", move)
func _physics_process(_delta):
move_and_slide()
func move(dest_position:Vector2):
if position.distance_to(dest_position) > 3 :
var direction = position.direction_to(dest_position)
velocity = direction * speed
else:
velocity = Vector2()
- 发射自定义信号,并携带参数
extends Node2D
@onready var character1 = $character1
@onready var character2 = $character2
func _ready():
pass
func _process(_delta):
pass
func _on_button_1_pressed():
GlobalSignal.character_move.emit(character2.position)
func _on_button_2_pressed():
GlobalSignal.character_move.emit(character1.position)
- 工程目录
