我正在使用 C# 和 Godot。
我已经能够使用多个 Vector2 和浮动,但是当 delta 是浮动时,角色的移动不起作用。
方向是 Vector2,速度和增量都是双倍的。
这是我的代码:
Velocity = direction.Normalized() * speed * delta;
Run Code Online (Sandbox Code Playgroud)
该代码行导致 CS0019 错误,指出运算符“*”不能应用于“Vector2”和“double”类型的操作数。
我无法将速度和增量更改为浮点数,因为如果增量是浮点数,则_PhysicsProcess无法覆盖并且不会移动角色:
public override void _PhysicsProcess(double delta)
Run Code Online (Sandbox Code Playgroud)
文档未列出接受 的Vector2乘法运算符double。尝试使用floats (通过强制转换):
Velocity = direction.Normalized() * (float)(speed * delta);
Run Code Online (Sandbox Code Playgroud)
或者只是从一开始就将speedand声明为浮动。delta
请注意,他的转换不是无损的(即并非每个双精度型都可以正确转换为浮点型)。
也可以看看:
| 归档时间: |
|
| 查看次数: |
846 次 |
| 最近记录: |