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

不是让数字变成整数!

相关推荐
Oiiouui35 分钟前
Godot-GridGame架构DI容器全局联动设计
架构·游戏引擎·godot
wgslucky1 天前
Godot UI管理与使用
游戏引擎·godot
Oiiouui2 天前
Godot-GridGame架构屏幕UI层
架构·游戏引擎·godot
Oiiouui4 天前
Godot-GridGame架构逻辑层与实体/物品层篇
架构·游戏引擎·godot
坐吃山猪5 天前
Godot01-初体验
godot·1024程序员节
Oiiouui5 天前
针对Godot-GridGame(网格游戏)的DI注入+RefCounted数据驱动信号流架构设计的研究(全程开源)
游戏·游戏引擎·godot·1024程序员节
Oiiouui5 天前
Godot-GridGame架构数据层篇
架构·godot·1024程序员节
狂野小白兔24 天前
AI游戏制作04——Codex 搭配 Godot MCP 全流程教程
人工智能·游戏·godot
狂人开飞机1 个月前
23、实战平台跳跃游戏
游戏·游戏引擎·godot
狂人开飞机1 个月前
27、实战物理益智游戏
游戏·游戏引擎·godot