godot 4 全局自定义信号,发射信号并携带参数

本文介绍了如何在Godot 4中创建全局自定义信号,并详细讲解了如何在游戏场景中处理这些信号,同时阐述了如何携带参数进行信号发射,以实现更灵活的交互和通信。

godot 4 全局自定义信号,发射信号并携带参数

  1. 全局信号
extends Node

# 定义确实移动参数
signal character_move(dest_position:Vector2)

  1. 角色处理
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()

  1. 发射自定义信号,并携带参数
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)

  1. 工程目录
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值