godot - 全局变量数据未通过 [Godot.2.15]
问题描述
我在 Godot 中创建了一个“加法心算计算器”,用户在点击“on_Button_pressed”按钮时会看到一个新问题,总和存储在“global var c”中,然后通过“Lineedit”访问输入并存储在“var d”中。但是,当传递“var c”以与“Lineedit”中的“var d”进行比较时,它传递了一个“Null”值。如何在两个函数之间传递值。
extends Panel
# global variables
var a = " "
var b = " "
var c = " "
var d = " "
func _ready():
pass
#Generate Random number and store sum in "var c"
func _on_Button_pressed():
randomize()
var a = floor (rand_range(1,100))
var b = floor (rand_range(1,100))
var c = a+b
print (a)
print (b)
print ("c = "+ str(c))
get_node("RichTextLabel").set_text(str(a)+"+"+str(b)+"=")
#User_input
func _on_LineEdit_text_entered( text ):
d = get_node("LineEdit").text
#pass sum "var c" for comparison with user_input "var d"
print(c)<-- NUll value being passed.
#Accesing value via node method
# var e = get_node("Panel").get("c").to_float()<-- Error-"Panel node doesn't exist"
# print(e)
#convert d to float
var f = d.to_float()
print(f)
#Compare sum with user_input
# if f == c:
# get_node("RichTextLabel").set_text("Right Answer")
# else:
# get_node("RichTextLabel").set_text("Wrong Answer")
解决方案
换线试试
var c = a + b
和
c = a + b
var c 声明了一个在函数范围内工作的新 var。var 关键字应该在代码的最外层声明中。
希望有帮助!
推荐阅读
- javascript - 关于如何实现计时器功能的任何帮助或想法
- java - 为什么当我使用带有某些参数的 Mockito 抛出 SqlException 时无法识别?
- python - 为什么它打印出不同的名称?在 Django
- java - 抛出 ClassNotFoundException
- bash - QProcess来自concole的不同输出
- node.js - Vercel 不显示 expressjs 静态文件
- mysql - 在 Django 中用 MySQL 数据库替换 SQLite 数据库
- mongodb - 有没有人能够在 cosmos mongodb 上使用带有日期字段的 ttl?
- python - 如何使用 replit 在 pygame 中显示字体
- cuda - CUDA 异步内存复制 - 哪个硬件设备执行内存复制操作?