Godot 3.4.2


脚本代码如下,通过继承这个脚本,重写 get_prop_nodes 方法即可

#============================================================
#   Base Role
#============================================================
#  最基本的角色功能,可对方法进行重写展示对需要修改属性的节点,
#  展示到当前节点的属性检查器中
#============================================================
# @datetime: 2022-1-30 22:50:38
#============================================================
tool
extends KinematicBody2Dvar _property_data = {}#============================================================
#   Set/Get
#============================================================
##  获取要展示的脚本导出的属性的节点
## (继承这个脚本的脚本重写这个节点进行显示
## 返回对应要展示的节点列表)
func get_prop_nodes() -> Array:return []#============================================================
#   内置方法
#============================================================
func _ready():_get_property_list()for property in _property_data.keys():var data = _property_data[property]if data.has('node'):data['node'].set(data['property'], data['value'])func _get_property_list():var list := []for node in get_prop_nodes(): # 在这个列表中添加想要展示的节点的属性的列表if node == null:printerr("没有这个节点,请确保设置的节点是正确的")continuevar sp_list := (node.get_script() as Script).get_script_property_list() as Arrayvar property = ""for p_data in sp_list:property = "%s/%s" % [node.name , p_data.name]# 如果没有这个属性if not _property_data.has(property):_property_data[property] = {"node": node,"value": node.get(p_data.name),}else:_property_data[property]["node"] = nodeif not _property_data[property].has("value"):_property_data[property]["value"] = node.get(p_data.name)_property_data[property]["property"] = p_data.name_set(property, _property_data[property]["value"])p_data.name = propertylist.append_array(sp_list)return listfunc _set(property, value):# 修改属性时,对对应属性的节点进行修改属性if _property_data.has(property):var data := _property_data[property] as Dictionaryif data.has("node"):data["node"].set(property, value)_property_data[property]["value"] = valueelse:_property_data[property] = {}func _get(property):if _property_data.has(property) \and _property_data[property].has('value'):return _property_data[property]['value']

【Godot】通过属性检查器显示对应节点的脚本属性相关推荐

  1. Matlab打开属性检查器出错问题

    问题 打开属性检查器出现了如下错误! 错误使用 event.listener 参数 'source' 必须为句柄元胞数组.出错 matlab.graphics.internal.propertyins ...

  2. matlab中GUI的属性检查器中的XLimMode是什么_OpenBCI_GUI部件指南

    什么是图形用户界面? GUI小部件是适合OpenBCI GUI界面窗格的小工具.GUI小部件的示例包括时间序列.FFT小部件.网络小部件等. 在每个小部件的左上角,都有一个下拉菜单,列出了所有可用的小 ...

  3. matlab中GUI的属性检查器中的XLimMode是什么_如何在Matlab中使用GUI做一个简易音乐播放器? ---- (二)GUIDE...

    咕咕怪由于昨天有重要的事情所以咕了一天的文章 (感觉写得挺基础的,对各个部分有一定了解的童鞋可以直接跳过了解的部分 用Matlab做一个app有几种办法呢? 同样的,帮助文档告诉了我们答案:三种. 英 ...

  4. 游览器显示“对象不支持此属性或方法“怎么办

    打开游览器点击右上角的"工具"选项,会出现一个对话框. 在出来的对话框里面,点击"Internet 选项"用来打开设置选项. 然后在跳出了的Internet选项 ...

  5. cocos creator 学习随笔 day03 节点和组件属性

    目录 节点本身属性 控件属性 场景 空节点 3D对象 2D对象 UI组件 光线 特效 摄像机 地形 节点本身属性 第一栏为节点名,可修改,前面得勾,是表示是否使用该节点,去掉代表隐藏该节点,但是该节点 ...

  6. 从 JavaScript 属性描述器剖析 Vue.js 响应式视图

    学习每一门语言,一般都是从其数据结构开始,JavaScript也是一样,而JavaScript的数据结构中对象(Object)是最基础也是使用最频繁的概念和语法,坊间有言,JavaScript中,一切 ...

  7. 从JavaScript属性描述器剖析Vue.js响应式视图

    学习每一门语言,一般都是从其数据结构开始,JavaScript也是一样,而JavaScript的数据结构中对象(Object)是最基础也是使用最频繁的概念和语法,坊间有言,JavaScript中,一切 ...

  8. MultiRow发现之旅(二)- 详解属性管理器

    前文回顾 MultiRow发现之旅(一)- 高效模板设计器 属性管理器 上一篇提到MultiRow模板设计器中有一个"属性管理器",这里就聊一聊这个属性管理器.在MultiRow模 ...

  9. web安全检查_如何利用现代Web检查器的功能

    web安全检查 by Craig Fitzpatrick 克雷格·菲茨帕特里克(Craig Fitzpatrick) 如何利用现代Web检查器的功能 (How to leverage the powe ...

最新文章

  1. 超越英伟达的,不会是另一款GPU?这家深圳公司发布全球首款数据流AI芯片
  2. Android中使用AlarmManager设置闹钟
  3. C++ TR1、TR2与boost的关系
  4. myBatis如何返回count(*)得到的int值
  5. Python核心编程第四章
  6. 论文精读 | slam中姿态估计的图优化方法比较
  7. python文件输入符_python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)...
  8. Linux基础——Linux 基本指令 touch, cp 和 mv
  9. python创建对象_python对象
  10. Openv-python学习1--图片加载
  11. 希捷 服务器文件丢失 原因,移动硬盘数据丢失的原因有哪些?如何进行专业的数据恢复?...
  12. 在线可视化布局HTML
  13. 你还在用 format 格式化字符串?
  14. psd文件转响应式html5,前端切图【PSD转静态页】响应式切图 html5+css3
  15. mysql读取股票数据_读取股票数据存储到本地MySQL数据库(一)
  16. Python爬虫实例(3)--BeautifulSoup的CSS选择器
  17. 电脑开机后报bootsafe.sys丢失,报0x00000098状态码
  18. html做app代码模板,App单页面html5模板
  19. matlab删除矩阵一列数据,matlab中实现矩阵删除一行或一列的方法
  20. Qt Xlsx使用教程、Qt操作Excel、Qt生成Excel图表、跨平台不依赖Office

热门文章

  1. 怎样获取网页视频下载链接
  2. MFC界面布局、效果
  3. 论文阅读——Globally and Locally Consistent Image Completion
  4. hadoop快速自我学习--hadoop平台管理与维护
  5. Ubuntu学习笔记6-ESP32接收并处理cmd_vel话题
  6. Olny Flashlight
  7. IE打不开了,该怎么办?
  8. 在window系统上对web项目进行safair兼容测试
  9. css3 描两个边,CSS3 / 指定四条边中图像的显示方法 - 汇智网
  10. yolov3-tiny原始weights模型转onnx模型并进行推理