You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Godot 4 C#中Node2D的set_as_top_level()方法无法使用求助

解决Godot 4 C#中Node2D无法调用SetAsTopLevel()的问题

Godot 4 对C# API进行了调整,原Node2D的SetAsTopLevel()方法已被移除,取而代之的是**TopLevel布尔属性**,直接赋值即可实现相同功能。

修改你的_Ready()方法中的对应代码:

public override void _Ready()
{
    Timer timer = (Timer)GetNode("Timer");
    Sprite2D sprite = (Sprite2D)GetNode("Sprite2D");
    timer.Start(lifetime/60f);
    sprite.LookAt(GetGlobalMousePosition());
    direction = GetGlobalMousePosition();
    // 替换原来的SetAsTopLevel(true);
    TopLevel = true;
}

补充说明

Godot 4的C# API更贴合C#的编码习惯,大量原有的Setter/Getter方法都被替换为属性形式,比如这类控制节点层级的操作,直接通过属性赋值就能完成,无需调用方法。

内容的提问来源于stack exchange,提问作者Hail or Bail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 15:52:06