Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Почему у меня в коде гд скрипт такие ошибки

kristalixend ! Ученик (155), на голосовании 4 дня назад
так вот такие Строка 10:Invalid argument for "connect()" function: argument 2 should be "Callable" but is "res://scripts/MainMenu.gd".
Строка 10:Cannot pass a value of type "String" as "int".
Строка 10:Invalid argument for "connect()" function: argument 3 should be "int" but is "String".



вот сам код
 extends Control 

# Указатели на нужные узлы
@onready var nickname_input = $LineEdit
@onready var confirm_button = $Button

# Функция, вызываемая при старте сцены
func _ready():
# Подключаем обработчик нажатия кнопки
confirm_button.connect("pressed", self, "_on_confirm_button_pressed")

# Обработчик нажатия кнопки
func _on_confirm_button_pressed():
# Получаем введенный никнейм
var nickname = nickname_input.text

# Проверяем, что никнейм не пустой
if nickname.strip_edges() == "":
print("Никнейм не может быть пустым!")
return

# Сохраняем никнейм в глобальной переменной
Global.player_nickname = nickname

# Переходим на игровую сцену
get_tree().change_scene("res://MainMenu.tscn")
Дополнен 1 месяц назад
а еше забыл confirm_button.connect("pressed", self, "_on_confirm_button_pressed") вот с этой строчки проблема
Голосование за лучший ответ
RatÆCat Оракул (74927) 1 месяц назад
Читаешь ошибку и переводишь
kristalixend !Ученик (155) 1 месяц назад
так я уже перевел решить не знаю как
RatÆCat Оракул (74927) kristalixend !, если бы ты перевёл, что исправил
RatÆCatОракул (74927) 1 месяц назад
*то
kristalixend ! Ученик (155) RatÆCat, так почему
kristalixend !Ученик (155) 1 месяц назад
Строка 10: Недопустимый аргумент для функции "connect()": аргумент 2 должен быть "Вызываемым", но это "res://scripts/MainMenu.gd".
Строка 10:Не удается передать значение типа "String" как "int".
Строка 10: Недопустимый аргумент для функции "connect()": аргумент 3 должен быть "int", но это "String".
kristalixend !Ученик (155) 1 месяц назад
как исправить я недавно гдскрипт изучаю
S.H.I. Оракул (73207) 1 месяц назад
В Godot 4.x подключение сигналов делается по-другому. Исправьте эту строку:

Вместо:
 confirm_button.connect("pressed", self, "_on_confirm_button_pressed") 
Используйте:
 confirm_button.pressed.connect(_on_confirm_button_pressed) 
Или альтернативный вариант:
 confirm_button.connect("pressed", _on_confirm_button_pressed) 
Также обратите внимание, что в конце вашего кода функция change_scene() тоже устарела в Godot 4.x. Рекомендую заменить:
 get_tree().change_scene("res://MainMenu.tscn") 
на:
 get_tree().change_scene_to_file("res://MainMenu.tscn") 
Похожие вопросы