网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
11月10日漏签0天
godot吧 关注:9,464贴子:41,889
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 7回复贴,共1页
<<返回godot吧
>0< 加载中...

请问yield()要怎么使用?起因是想要在游戏里加一个模拟刷

  • 只看楼主
  • 收藏

  • 回复
  • 不看贴倒回帖
  • 界面设计
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
请问yield()要怎么使用?
起因是想要在游戏里加一个模拟刷推特的部分,把推文做成场景保存之后,在一个VBoxContainer里面实例化。本来想的很简单,以为很多推文实例化之后就按顺序排在一起了,然而运行了一下发现实例化的推文都叠在了一起…… 原因不明。
想要用yield看看他们延时生成会发生什么,但是官方的yield解释没看懂……
请问有人知道上述情况出现的原因吗?或者叫我用一下yield也行。如果有制作一个模拟刷推场景的方法更加欢迎


  • 人类的大敌
  • 吧主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
yield()不是用来延时的,延时应该使用Timer(计时器)
yield()是暂停函数运行的意思,当一个函数运行到yield()时,就会返回到调用的函数,有点像return
不过和return不同的地方在于,yield()返回函数后,可以使用resume()从中断运行的地方继续运行
至于VBoxContainer里的节点会重叠在一起,这可能是因为没有使用界面节点的原因
VBoxContainer只能排列界面节点,界面节点以外的其它节点不会受到VBoxContainer节点的影响
界面节点就是Control节点的所有子类,如图所示:

下图是一个例子,
Label节点会受到VBoxContainer的影响,
而Sprite节点不会受到VBoxContainer的影响:

这是因为Label节点是Control节点的子类,是界面节点
而Sprite节点是Node2D节点的子类,不是界面节点
只要使用界面节点,使用VBoxContainer来排列就不会重叠在一起:


2025-11-10 20:40:40
广告
不感兴趣
开通SVIP免广告
  • Stzoogo
  • 项目流程
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
想从根本上了解yield, 建议先理解什么是线程, 再理解什么是协程.


  • 不看贴倒回帖
  • 界面设计
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
啊,为什么发的被吞了……
谢谢回复,找到原因之后放弃使用VBoxContainer了,改用一个Position2D管理实例化位置,还能实现拖动和刷新效果,yield还要再理解一下……


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 7回复贴,共1页
<<返回godot吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示