如何使用C#更改实例化的Sprite2D Godot的框架?

问题描述 投票:0回答:1

我正在尝试在游戏中实例化一个包含 12 帧的 Sprite2D 场景,并设置帧以便每个实例使用不同的帧。当我尝试更改框架属性时,出现编译器错误,其中指出:

D:\Projects\Godot\Chess\Board.cs(22,12): 'Sprite2D' 不包含 'frame' 的定义,并且没有可访问的扩展方法 'frame' 接受类型 'Sprite2D' 的第一个参数找到(您是否缺少 using 指令或程序集引用?)

如何修改此属性?

我的代码是:

var pieceScene = GD.Load<PackedScene>("res://piece.tscn"); //This is the Sprite2D Scene
var wKing = pieceScene.Instantiate() as Sprite2D;
wKing.frame = 0;
AddChild(wKing);

我也尝试过

var pieceScene = GD.Load<PackedScene>("res://piece.tscn"); //This is the Sprite 2d Scene
var wKing = pieceScene.Instantiate() as Sprite2D;
wKing.set_frame(0);
AddChild(wKing);

然而,他们提出了相同的错误,除了 set_frame 没有防御。

c# sprite sprite-sheet godot4
1个回答
0
投票

正如 Godot C# API Differences Documentation 所指出的,与使用

PascalCase
的 GDScript API 相比,C# 的大部分 API 都在
snake_case
中。因此,在
Sprite2D.frame
的情况下,您需要使用
Sprite2D.Frame
来代替。

© www.soinside.com 2019 - 2024. All rights reserved.