惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
V
Visual Studio Blog
The GitHub Blog
The GitHub Blog
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks
T
Tailwind CSS Blog
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
人人都是产品经理
人人都是产品经理
H
Heimdal Security Blog
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
Cyberwarzone
Cyberwarzone
Google DeepMind News
Google DeepMind News
雷峰网
雷峰网
Hacker News: Ask HN
Hacker News: Ask HN
Webroot Blog
Webroot Blog
Microsoft Azure Blog
Microsoft Azure Blog
MyScale Blog
MyScale Blog
A
About on SuperTechFans
V2EX - 技术
V2EX - 技术
小众软件
小众软件
博客园 - Franky
博客园 - 司徒正美
P
Privacy International News Feed
爱范儿
爱范儿
U
Unit 42
博客园 - 叶小钗
The Hacker News
The Hacker News
C
Check Point Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Simon Willison's Weblog
Simon Willison's Weblog
N
News and Events Feed by Topic
D
Docker
T
Threatpost
MongoDB | Blog
MongoDB | Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
H
Help Net Security
L
LINUX DO - 最新话题
Security Latest
Security Latest
T
The Exploit Database - CXSecurity.com
S
SegmentFault 最新的问题
A
Arctic Wolf
Spread Privacy
Spread Privacy

碎言

不懂就别瞎掰掰:【程序员的常识】写的什么玩意? AI 辅助编程下的程序设计与代码编写 使用 Next.js 和 Tailwind CSS 构建可编辑和删除的 ToDo 待办事项应用 探索编程新境界:MarsCode 助你一臂之力 使用 Next.js 和 Tailwind CSS 搭建静态图片展示站点并部署到 Vercel AI 辅助编程:免费工具的优缺点及官网一览 GitHub push更新总是失败,写个python脚本解决 把博客从GitHub迁移到到了vercel ComfyUI 和 Flux.1 安装与使用教程 Flux.1 入门必知:硬件、环境、模型 Git项目的子文件夹中的内容无法同步到远程仓库的解决方法 blender流体Fluid使用中没有流体、流体穿模等一些问题的解决方法 博客聚合网站:积薪,竟然关闭了! blender日常使用中的一些技巧 虽然只有我自己在用,但还是更新了碎言博客的源代码, 与其在迷茫中困惑,不如在努力中前进 差点忘了我还有一个博客... 秧歌、博客和AI 终于熬到了新手上路 好久没有更新博客了。。。 老妈大腿骨骨折,最近一直在医院护理 Hello, September! Ubuntu开机自动启动Docker容器运行WordPress Docker 简单快速安装部署WordPress Docker下安装MySQL 加碘盐能防核辐射的话,还怕什么核战争? shields.io 一个简洁、一致、清晰的徽章 Ubuntu下使用root登录ssh的设置 GitHub Actions 构建、部署 Next.js项目 我又用回了"IE"--edge ubuntu-22-live-server 设置固定IP Next项目部署GitHub pages的一些坑 整理了一个下午的收藏夹...... 短暂而忙碌的暑假即将谢幕 GitHub Actions 是干什么用的? 放弃Next.js重构博客:经验、教训与未来技术探索 关于Google LCP 问题:超过了2.5秒 验证已通过 仅用了几个小时就使用next.js重构博客的所有功能 关于使用Next.js重构博客构思的记录 使用Tailwind css和JavaScript实现一个简单的返回顶部功能 罗技K380 F1-F12 功能键锁定 PHILIPS猛禽SPK8404机械键盘手感真是超赞! 局域网的DNS设置192.168.0.1与8.8.8.8,114.114.114.114有什么区别? 史诗结合的浪漫:《长安三万里》 聊 聊 友 情 链 接 1767个中文博客的数据洞察:中文博主都喜欢干啥? python requests 设置读取超时时间 八月回顾:博客之路,一路前行 Docker基础学习笔记和常用命令汇总 vim常用命令整理 Ubuntu 22 安装Docker过程记录 使用python结合feedparser模块编写自己的私人RSS订阅程序 博客大数据分析:38880条博文揭示博主最爱写什么? Windows下国产杀毒软件还有选择吗?火绒安全可以一试。 export exports module.exports 这三个命令的区别是什么如何使用? 时代的变迁:从56K拨号上网到1G光纤的回忆 理工计算机专业准大学生如何选配笔记本? 使用JavaScript编写自己的私人RSS订阅程序 如何使用CSS为博客标题设置彩虹颜色? 最终还是决定使用传统的网线来解决千兆速率问题。 1300M USB双频2.4+5G无线网卡的一些常识和使用技巧 Python Gui新框架:NiceGui之初体验 pycharm 正在关闭项目(closing project)无法关闭退出程序的解决方法! 速度与优雅:博客性能优化之旅 久了,博客主题就会一直做减法 七月的焦虑 在react中使用复制插件clipboard.js react中如把HTML代码转成字符串进行渲染? react useEffect()中使用lodash库中的防抖debounce react useEffect() 为什么在开发模式的时候会执行两次? 七年之痒!别了我曾深爱的MacBookPro 前端React+Material UI开发环境的快速搭建 一键更新Github部署的静态博客 编程新手学习过程中如何更好的提问? Typed.js 一款有意思的网页打字机效果库 解决错误 ERROR [WinError 10049] 在其上下文中,该请求的地址无效。 Stable Diffusion 相关教程与模型的记录 Stable Diffusion ControlNet openpose 报错无法使用 在react或vue中使用localStorage存储数据 使用React+Vite+TailwindCSS+daisyUI打造一个简单的ToDos 碎言静态博客 聊聊Python中的装饰器 npm更换源与nrm安装与配置 pip临时修改下载源 Vue快速学习笔记(9)Vuetify配置及简单使用 Vue快速学习笔记(8)webpack4.X配置Vue开发打包环境 Vue快速学习笔记(5)使用路由vue-router(1) Vue快速学习笔记(4)Vue组件中的数据传递 Vue快速学习笔记(3)Vue的组件 Vue快速学习笔记(2)Vue中的监听与计算属性 Vue快速学习笔记(1)Vue实例基础 基于Django构建的小学生英文单词背写检测考试系统。 如何在Python程序中使用配置文件.ini(ConfigParser) 写在我的博客PV10万时:聊聊编程与画画 python3函数学习笔记简单总结 PythonINI配置文件读写的简单方法 Python open()函数文件打开、读、写操作总结 Python os.path模块中一些常用方法的整理总结 Python 采集数据三步曲之[Requests + re.py模块进行数据采集] Python 采集数据三步曲之[Requests开源协议的HTTP 库]
Godot4中节点类常用的内置方法
J.sky · 2025-11-27 · via 碎言

内容来自千问AI整理,感觉还不错,分享一下。 在 Godot 中,节点类提供了大量实用的内置方法。以下是常用的节点方法分类:

1. 节点管理方法

# 添加和移除节点
add_child(node)
remove_child(node)
queue_free()              # 安全删除节点
free()                    # 立即删除(不推荐)

# 节点查找
get_node(path)            # 根据路径获取节点
has_node(path)            # 检查节点是否存在
get_parent()              # 获取父节点
get_children()            # 获取所有子节点

# 节点遍历
get_child(index)
get_child_count()
find_child(name, recursive=true, owned=false)

2. 信号相关方法

# 连接和断开信号
connect("signal_name", callable)
disconnect("signal_name", callable)
is_connected("signal_name", callable)

# 自定义信号
signal my_signal(param1, param2)

# 发射信号
emit_signal("my_signal", param1, param2)

3. 节点生命周期方法

func _ready():            # 节点及其子节点都已添加到场景树
func _enter_tree():       # 节点进入场景树
func _exit_tree():        # 节点离开场景树
func _process(delta):     # 每帧调用(非物理)
func _physics_process(delta):  # 每物理帧调用

4. 场景树相关方法

# 场景树操作
get_tree()                # 获取场景树
get_viewport()            # 获取视口
is_inside_tree()          # 检查是否在场景树中
is_processing()           # 检查是否在处理
is_physics_processing()   # 检查是否在物理处理

# 场景切换
get_tree().change_scene_to_file("res://scene.tscn")
get_tree().change_scene_to_packed(packed_scene)
get_tree().reload_current_scene()

5. 变量和属性相关

# 属性设置
set("property_name", value)
get("property_name")
has_meta("meta_name")     # 检查元数据
set_meta("meta_name", value)
get_meta("meta_name")

# 变量检查
has_method("method_name")
call("method_name", args...)

6. 节点可见性和状态

# 可见性控制
show()
hide()
set_visible(bool)
is_visible_in_tree()      # 检查是否在场景中可见

# 处理控制
set_process(true/false)
set_physics_process(true/false)
set_process_input(true/false)

7. 输入处理方法

# 输入相关
func _input(event):       # 处理所有输入
func _gui_input(event):   # 处理GUI输入
func _unhandled_input(event):  # 处理未处理的输入

# 输入状态检查
Input.is_action_pressed("action_name")
Input.is_key_pressed(KEY_SPACE)
Input.get_mouse_position()

8. 节点坐标和变换

# 位置变换
global_position             # 全局位置
position                    # 本地位置
rotation                    # 旋转角度
scale                       # 缩放

# 坐标转换
to_global(local_position)
to_local(global_position)
global_transform            # 全局变换矩阵
transform                   # 本地变换矩阵

9. 2D/3D 特定方法

2D 节点

# 2D 变换
global_position
position
rotation
scale
rotation_degrees

# 2D 工具
look_at(target_position)
rotate(angle)
move_local_x(distance)
move_local_y(distance)

3D 节点

# 3D 变换
global_transform
transform
rotation
scale
translation

# 3D 工具
look_at(target, up=Vector3.UP)
rotate_x(angle), rotate_y(angle), rotate_z(angle)

10. 调试和工具方法

# 调试输出
print("message")
push_error("error message")
push_warning("warning message")

# 断点调试
assert(condition, "error message")

11. 资源和文件操作

# 资源加载
preload("res://path.tscn")     # 编译时加载
load("res://path.tscn")        # 运行时加载

# 场景实例化
var scene_instance = PackedScene.new()
scene_instance.instantiate()

12. 计时器和延迟调用

# 延迟调用
call_deferred("method_name", args...)
await get_tree().create_timer(1.0).timeout  # 等待1秒

# 计时器节点
var timer = Timer.new()
timer.timeout.connect(callback)
add_child(timer)
timer.start(duration)

13. 组和标签方法

# 节点组操作
add_to_group("group_name")
remove_from_group("group_name")
is_in_group("group_name")

# 遍历组内节点
for node in get_tree().get_nodes_in_group("enemies"):
    node.take_damage(10)

14. 常用的全局方法

# 随机数
randf()                    # 0.0 到 1.0 的随机浮点数
randi()                    # 随机整数
rand_range(min, max)       # 指定范围的随机数

# 数学函数
lerp(from, to, weight)     # 线性插值
clamp(value, min, max)     # 限制值范围
stepify(value, step)       # 步进化值

# 字符串和转换
str(variable)              # 转换为字符串
int(string)                # 转换为整数
float(string)              # 转换为浮点数

15. 实用的组合方法

# 等待节点
await node.ready            # 等待节点就绪
await node.tree_exited      # 等待节点离开场景树

# 安全的节点操作
if has_node("path"):
    var node = get_node("path")
    # 安全操作

# 批量操作
for child in get_children():
    if child is Node2D:
        child.visible = false

这些方法是 Godot 开发中最常用的节点操作方法,掌握它们可以大大提高开发效率。根据具体需求选择合适的方法,可以让代码更加简洁和高效。