标题:在Godot中使用Node2D创建自定义的Label

这篇具有很好参考价值的文章主要介绍了标题:在Godot中使用Node2D创建自定义的Label。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Godot游戏引擎中,我们经常需要在游戏中显示文本信息。通常,我们可以使用Label节点来实现这一点。但是,在某些情况下,你可能希望更灵活地控制文本的显示和样式。在本篇博客中,我们将学习如何通过使用Node2D节点来创建一个自定义的Label,从而能够更好地控制文本的呈现方式。

效果图
标题:在Godot中使用Node2D创建自定义的Label

步骤一:创建Node2D节点

首先,在Godot编辑器中创建一个新的Node2D节点。你可以在场景层次结构面板中右键点击,选择“Create Node”并选择“2D Node”。

步骤二:导入字体资源

在这个例子中,我们将使用自定义的字体来显示文本。首先,确保你已经有一个字体文件(.ttf 或 .otf 格式),然后将其导入到Godot项目中。创建一个新的DynamicFont资源,并将导入的字体文件分配给它。

步骤三:设置导出变量

在脚本中,我们需要一个可以在编辑器中配置的导出变量来设置显示的文本内容。在脚本的开头添加以下代码:

tool

var font:Font = load("res://your_dynamicfont.tres")

export var text = "Hello World" setget set_text

"res://your_dynamicfont.tres" 替换为你导入的 DynamicFont 资源的路径。

步骤四:实现文本内容更新

_ready() 函数中,添加以下代码:

func _ready():
    update()

这会在节点准备好后调用 update() 函数,确保文本内容被正确显示。

步骤五:实现文本绘制

_draw() 函数中,添加以下代码来实现文本的绘制:

func _draw():
    var text_size := font.get_string_size(text)
    draw_string(font, Vector2.ZERO - Vector2(text_size.x/2, -text_size.y/4), text)

这段代码使用了字体的 get_string_size() 函数来获取文本的大小,然后使用 draw_string() 函数在节点的原点附近绘制文本。调整位置参数可以控制文本的位置。

步骤六:实现文本内容设置

最后,我们需要实现设置文本内容的方法。在脚本中添加以下代码:

func set_text(t):
    text = t
    update()

这个函数允许我们通过设置导出变量 text 来更新要显示的文本内容,并调用 update() 来刷新绘制。

现在,你已经成功地创建了一个自定义的Label,使用Node2D节点来绘制。通过在编辑器中配置导出变量,你可以轻松地更改显示的文本内容。此外,你还可以根据需要进一步定制文本的样式和位置。

希望这篇博客对你在Godot游戏开发中有所帮助!文章来源地址https://www.toymoban.com/news/detail-673712.html

到了这里,关于标题:在Godot中使用Node2D创建自定义的Label的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Godot 4 源码分析 - Path2D与PathFollow2D

    学习演示项目dodge_the_creeps,发现里面多了一个Path2D与PathFollow2D  研究GDScript代码发现,它主要用于随机生成Mob 这个有这么大的作用,不明觉厉 但不知道如何下手 查看源码,有编辑器及类源码 先从应用角度,到B站上找找有没有视频,结果发现这个 Godot塔防游戏 - 01 -核心路径

    2024年02月14日
    浏览(33)
  • Godot 4.0 遮罩一个2D物体,使其部分显示

    本文针对Godot 4.0。 我也查到了Godot 3.5如何实现遮罩,见这个链接 https://ask.godotengine.org/3031/how-do-i-mask-a-sprite 由于查到的大部分教程均针对3.5版本,特此提供4.0版本的教程。 Godot4.0的遮罩不是一个单独的节点,这个功能被包含在了一个常见的基类 CanvasItem 内。 若要遮罩一个物体,可

    2024年02月08日
    浏览(66)
  • YARN的Node Label机制

    YARN的Node Label机制 Node Label的介绍 官网对NodeLabel的介绍如下: Node label is a way to group nodes with similar characteristics and applications can specify where to run. 节点标签是一种对具有相似特征的节点进行分组的方法,应用程序可以指定在哪里运行。 那么标签到底是做什么的? 我们可以创建多

    2024年02月13日
    浏览(24)
  • 二十三、node、Label、namespace管理

    目录 一、Node的隔离与恢复 二、Node 的扩容 三、Label 四、Namespace:集群环境共享与隔离 1、创建namespace 2、定义Context 3、设置工作组在特定的Context中工作         在硬件升级、维护等情况下,我们需要将某些node隔离,使其脱离Kubernetes集群的调度范围,Kubernetes提供了一种机

    2024年02月21日
    浏览(22)
  • 【深度学习&图神经网络】Node2Vec +GAT 完成 节点分类任务(含代码) | 附:其它生成节点特征向量的算法:DeepWalk、LINE(具体实现细节)、SDNE、MMDW

      “我从来没有在哪次分离中流过眼泪,因为我觉得,与还健在的人的离别是世界上第二浪漫的事,因为我们从此离别以后 每一次相遇都是重逢,而重逢是世界上第一浪漫的事情。”     🎯作者主页: 追光者♂🔥          🌸个人简介:   💖[1] 计算机专业硕士研究生

    2024年02月07日
    浏览(53)
  • k8s集群Node节点管理:节点信息查看及节点label标签管理

    如果是kubeasz安装,所有节点(包括master与node)都已经可以对集群进行管理 如果是kubeadm安装,在node节点上管理时会报如下错误 只要把master上的管理文件 /etc/kubernetes/admin.conf 拷贝到node节点的 $HOME/.kube/config 就可以让node节点也可以实现kubectl命令管理 1, 在node节点的用户家目录创建

    2024年02月03日
    浏览(48)
  • 使用【node】创建本地接口

    在前端开发的过程中,接口相关的信息一般是由后端处理好返回给前端,但是有时候后端不在的时候想自己写个接口进行测试是非常麻烦的。 node 是前端一个不错的写接口工具 1 在新建一个空的文件夹 node 进入空文件夹在,文件夹的地址栏输入 cmd 回车,会自动跳转到命令行

    2024年04月23日
    浏览(32)
  • 使用Node.js创建接口

    当使用Node.js创建接口时,有两种主要方式:使用Express框架和使用Node.js的HTTP模块。 Express框架方式: 总的来说,使用Express框架可以更快速地搭建和管理接口,而使用Node.js的HTTP模块则提供了更多底层控制和灵活性,适用于对请求和响应处理有更高要求的情况。 便捷性和简洁

    2024年02月04日
    浏览(55)
  • 如何使用xlwings库创建图表及设置坐标轴标题文本内容----关于Python里xlwings库对Excel表格的操作(三十二)

    这篇小笔记主要记录如何 【如何使用“Chart类”、“Api类\\\"和“Axes函数”设置坐标轴标题文本内容】 。 前面的小笔记已整理成目录,可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 (1)如何安装导入xlwings库; (2)如何在Wps下使用xlwings中

    2024年01月22日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包