![](/img/trans.png)
[英]Feature 'target-typed object creation' is not available in C# 7.3. Please use language version 9.0 or greater
[英]Feature 'top-level statements' is not available in C# 7.3. Please use language version 9.0 or greater. Godot Question
我正在嘗試學習如何使用 Godot,因為我發現它比 Unity 更容易學習,並且一直在關注他們的官方文檔頁面上的教程,我設法進入了“准備碰撞”部分,並創建了Hit
信號,然而,當我將節點鏈接在一起時,它創建了 function,我編寫了它說要放入其中的代碼:
public void OnPlayerBodyEntered(PhysicsBody2D body)
{
Hide(); // Player disappears after being hit.
EmitSignal("Hit");
GetNode<CollisionShape2D>("CollisionShape2D").SetDeferred("disabled", true);
}
但是當我運行它時,它給出了這個錯誤:
Feature 'top-level statements' is not available in C# 7.3. Please use language version 9.0 or greater.
我認為這意味着我必須更新 C#,我認為這不是什么大問題,我嘗試通過dotnet-sdk
更新它,但我不確定它是什么或它是如何工作的,並且在 Godot 中找不到任何其他更新它的方法。 如果這是一個愚蠢的問題,我深表歉意,我對 Godot 很陌生。 提前感謝您的幫助。
我不完全確定這是否是產生頂級語句錯誤的代碼片段。 頂級語句錯誤通常來自Program.cs
或包含Main
方法的代碼文件。
頂級語句是隨 C# 9 引入的: MSDN - 頂級語句
為了在您的項目中啟用 C# 9.0,您需要編輯.csproj
文件並添加以下內容:
<PropertyGroup>
<LangVersion>9.0</LangVersion>
</PropertyGroup>
或者,您可以使用以下配置來定位最新的 C# 版本,當前為 10.0 :
<PropertyGroup>
<LangVersion>latest</LangVersion>
</PropertyGroup>
雖然 Godot 完全支持 C# 語言,但 IDE 的集成並不是最好的(好吧,集成不好)。
我(...)創建了 Hit 信號,但是,當我將節點鏈接在一起時,它創建了 function,我編寫了它說要放入其中的代碼
問題是它在錯誤的地方創建了它。 Godot 在文件末尾添加了處理程序方法。 這是不正確的。 它應該是 class 中與文件共享名稱的方法。 將方法移到那里。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.