Godot的Normalized()函数说明

豆包,我按住2个方向键,godot打印出来的变量是(0.7,0.7),不是说用了Normalized()函数,只能是整数吗?

cs 复制代码
        // 键盘输入
        Vector2 inputDir = Input.GetVector("ui_left", "ui_right", "ui_up", "ui_down");
        inputDir = inputDir.Normalized();

        GD.Print($"Input: {inputDir}"); // 输出输入向量,调试用

核心答案:

Normalized () 不会把数字变成整数!它只会把向量长度变成 1,但里面的数字依然是小数。

为什么斜着走是 (0.7, 0.7)?

你同时按 → 和 ↓:

原始输入向量是 (1, 1)

这个向量的长度是 1.414

Normalized() 会把它缩放到长度 = 1

所以变成 (0.707..., 0.707...)

这是正常、正确、标准的结果!

那什么时候才会是整数?

只有 4 个正方向 才会是整数:

上:(0, -1)

下:(0, 1)

左:(-1, 0)

右:(1, 0)

8 个斜方向永远是小数!

简单总结一句

Normalized () = 让向量长度变成 1

不是让数字变成整数!

相关推荐
k4m7v2pz8 分钟前
Godot 4 窗口拉伸黑边与变形:stretch 配置全解析
数码相机·游戏引擎·godot·2d游戏·黑边·stretch·画面比例
k4m7v2pz11 小时前
Godot 4 仿 agar.io 卡顿优化:用空间网格把 30 万次碰撞检测降到几千次
性能优化·godot·游戏开发·碰撞检测·空间网格
k4m7v2pz13 小时前
Godot 4 嵌入式试玩窗口尺寸与适配策略详解
编辑器·游戏引擎·godot·游戏开发·嵌入式运行
weixin_4046793114 天前
godot + vscode ai开发
ide·vscode·编辑器·游戏引擎·godot
松树戈16 天前
godot项目【宝石捕手】04~添加音效、记分
游戏引擎·godot
ue星空17 天前
【Godot】更换编辑器外观主题
编辑器·游戏引擎·godot
ue星空18 天前
Godot 2D像素游戏移动抖动、模糊问题解决方案
游戏·游戏引擎·godot
ue星空18 天前
【Godot】AudioStreamPlayer2D音频播放
游戏引擎·音视频·godot
松树戈19 天前
godot项目【宝石捕手】03~宝石刷新、游戏结束脚本逻辑
游戏·godot
刘欣的博客19 天前
godot 服务器客户端设计中的精灵更新
godot