Godot中的锚点

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

关于锚点的用处,Godot的官方文档是如此叙述的。

如果一个游戏总是用同一分辨率在同样的设备上运行, 摆放控件将是一个简单的事, 只要逐个设置它们的位置属性和大小属性即可. 不幸的是, 能像这样处理的情况很少.

在游戏开发中,处理不同分辨率和纵横比的屏幕可以是一项挑战。但幸运的是,Godot引擎提供了一种强大的工具来解决这个问题 - 锚点和边距。

锚点的概念

想象一下,你的游戏需要在各种设备上运行,从电视到手机,每个设备都有不同的分辨率。这时,将控件逐个设置位置和大小属性将变得非常繁琐。这就是锚点的用武之地。

每个控件都有四个边距:左、右、上和下。默认情况下,它们表示相对于父控件的左上角或视口的像素距离。但是,通过调整水平和/或垂直锚点,你可以改变这些边距的行为。

Godot中的锚点

在没有缩放的情况下,锚点的位置一般是[0,1],表示在父控件中0%-100%的位置。(当然,你也可以设置成2来达到200%的效果)

简单来说,锚点就是快速将控件定位到屏幕相对位置(0%~100%)的工具。

控件的位置随屏幕变化

当你将水平(左,右)和/或垂直(上,下)锚点设置为1时,边距值会相对于父控件或视口的右下角。这意味着,当屏幕分辨率改变时,控件会相应地调整位置。

例如,你可以将一个按钮设置为底部锚点,这样它将始终保持在屏幕底部,即使屏幕大小变化。

控件居中对齐

要将控件居中对齐到其父控件中,只需将锚点的值设置为0.5,并且将边距设置为相关尺寸的一半。

以下是一个示例代码,将一个纹理矩形居中到其父节点:

var rect = TextureRect.new()
rect.texture = load("res://icon.png")
rect.anchor_left = 0.5
rect.anchor_right = 0.5
rect.anchor_top = 0.5
rect.anchor_bottom = 0.5
var texture_size = rect.texture.get_size()
rect.margin_left = -texture_size.x / 2
rect.margin_right = -texture_size.x / 2
rect.margin_top = -texture_size.y / 2
rect.margin_bottom = -texture_size.y / 2
add_child(rect)

通过将每个锚定值设置为0.5,我们将边缘的参考点移动到父锚点的中心。然后,通过设置负边距,我们确保控件获得其自然大小并保持居中对齐。

快速设置锚点

使用编辑器右上角的按钮可以快速设置锚点
Godot中的锚点文章来源地址https://www.toymoban.com/news/detail-691436.html

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

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

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

相关文章

  • 关于游戏引擎(godot)对齐音乐bpm的技术

    引擎默认底层 1. _process(): 每秒钟调用60次(无限的) 数学 1. bpm=1分钟节拍数量=60s节拍数量 bpm120 = 60s120拍 2. 每拍子时间= 60/bpm 3. 每个拍子触发周期所需要的帧数= 每拍子时间*60(帧率) 这个是从帧数级别上对齐拍子的时间,对于游戏引擎来说,用帧数更加适合高频触发程序 在

    2024年02月16日
    浏览(36)
  • 【windows测试通过】关于Godot导入外部音频文件的问题

    代码给出,还没有测试过。(godot3.2测试未通过) 在运行时轻松加载外部音频 (WAV) 文件 ·问题 #732 ·Godotengine/Godot-proposals(戈多引擎) (github.com) 我给出的办法(windos测试通过) 1. 先把外部音频文件在游戏开发的时候导入在godot的res://目录下,然后复制导入后的.imoprt/文件夹

    2024年02月16日
    浏览(27)
  • 阿里云官方关于数据安全保护的声明

    “阿里云监控用户的数据流量?”“真的假的?”随着近日早晨 朱峰@肥鹅旅行 对阿里云的一条朋友圈截图传遍了整个IT圈。   对于网络上的各种传播,以下是阿里云的官方答复,原文如下: 关于数据安全保护的声明 今天有客户反映,使用阿里云服务器部署爬虫业务时发现

    2024年02月14日
    浏览(27)
  • 关于kafka压力测试(使用官方自带脚本测试)

    在kakfa的bin目录下有很多脚本,其中有两个脚本是kafka官方自带的压力测试脚本。用来测试kafka在生产和消费中,有哪些瓶颈来限制了工作效率。 kafka-consumer-perf-test.sh kafka-producer-perf-test.sh 测试命令 各个参数解释 record-size 是一条信息有多大,单位是字节。 num-records 是总共发送

    2024年02月11日
    浏览(28)
  • vtk9.3 关于vtk --- 来源于官方网站

            Visualization Toolkit(VTK)是一个强大的开源软件系统,提供了在3D计算机图形学、图像处理、建模、体积渲染和科学可视化方面的高级功能。它提供了线程和分布式内存并行处理,以实现可伸缩性和更好的性能。         VTK 是一个跨平台库,可以在许多操作系统

    2024年01月16日
    浏览(35)
  • 关于蓝桥杯单片机 官方例程 矩阵按键 消抖原理 ‘s 解释

    关于蓝桥杯单片机官方例程矩阵按键消抖原理解释 芯片:IAP15F2K60S 蓝桥杯原书41页官方例程 最开始我以为这款开发板有硬件消抖,对于下面这部分代码一直当作固定格式写,最近回看,发现其中另有“玄机”。 这里默认大家看过并且会了 = = 之前的按键扫描例程了 众所周知

    2023年04月08日
    浏览(27)
  • Qt 关于mouseTracking鼠标追踪和tabletTracking平板追踪的几点官方说明

    mouseTracking属性用于保存是否启用鼠标跟踪,缺省情况是不启用的。 没启用的情况下,对应部件只接收在鼠标移动同时至少一个鼠标按键按下时的鼠标移动事件。 启用鼠标跟踪的情况下,任何鼠标移动事件部件都会接收。 部件方法hasMouseTracking()用于返回当前是否启用鼠标跟踪

    2024年02月07日
    浏览(35)
  • 可以参考Copilot的官方文档和社区,了解更多关于Copilot的使用技巧和常见问题

    在PyCharm中使用Copilot的步骤如下: 获取Copilot的使用权限:首先,确保你拥有一个GitHub的账号。然后,进入Copilot首页,登录你的GitHub账号,并申请使用。几天后,你会收到一封回复邮件,点击邮件中的链接,登录到GitHub。 安装Copilot:在PyCharm中,找到\\\"File\\\"(文件)菜单,然后

    2024年02月02日
    浏览(83)
  • 深度学习关于stable diffusion官方模型下载,并附上:Stable Diffusion下载+安装+使用教程,保证你能学会!

    下载地址: 自用备份,有需要的人请拿去,不客气!! 1.4版本下载: CompVis/stable-diffusion-v-1-4-original · Hugging Face 1.5版本下载: runwayml/stable-diffusion-v1-5 at main sdxl-0.9.0版本下载 https://huggingface.co/stabilityai/stable-diffusion-xl-base-0.9 sdxl-1.0版本下载: https://huggingface.co/stabilityai/stable-

    2024年01月18日
    浏览(39)
  • uni-app:官方文档中的canvas实例剖析

    canvas | uni-app官网 (dcloud.net.cn)

    2024年02月07日
    浏览(38)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包