我有一个关于戈多引擎的问题,我正在制作一个RPG,我现在正在制作对话框系统,为此我创建了一个场景,其中有一个用于对话框样式的精灵,以及一个RichTextLabel,和一个计时器,在脚本中我有这个
extends Node2D
var vc = 0
var text = false
onready var t = Timer.new()
func _ready():
var t = Timer.new()
t.set_wait_time(1)
t.set_one_shot(true)
self.add_child(t)
t.start()
yield(t, "timeout")
func _on_Timer_timeout():
get_node("spr_cuadro").show()
while get_node("spr_cuadro/rtl_mensaje").get_visible_characters() <= get_node("spr_cuadro/rtl_mensaje").get_text().length():
get_node("Cuadro/Mensaje").set_visible_characters(vc)
vc += 1
yield(t, "timeout")
text = true
func message():
print("hello")
get_node("spr_cuadro/rtl_mensaje").set_bbcode("ef")
if Input.is_action_pressed("ui_k"):
if text == false:
get_node("Timer").start()
elif Input.is_action_pressed("ui_k"):
if text:
get_node("spr_cuadro/rtl_mensaje").set_visible_characters(0)
vc = 0
get_node("spr_cuadro").hide()
yield(t, "timeout")
text = false
我还有另一个名为“enemie”的场景,它有对话框实例化 这是代码:
extends KinematicBody2D
const diascr = preload("res:///scripts/dialog.gd")
onready var dialog = get_node("dialog").get_script()
func _ready():
set_process(true)
func _process(delta):
move(Vector2(1,0))
dialog.message("messaje")
我想做的事情是将对话框与enemie脚本连接起来并调用功能消息在屏幕上显示消息,如果有人能帮助我,我将非常感激
错误:对基础'GDScript'中的函数'message'的调用无效。期望0个参数。在enemie第8行
答案 0 :(得分:0)
您收到此错误是因为您忘记了邮件功能中的参数。目前您将字符串传递给函数,但函数“不知道”如何处理它。您的功能必须如下:
func message(content):
print(content)
...
最好的问候。