找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 63|回复: 0

C#脚本涉及关键词含义

[复制链接]

4

主题

1

回帖

39

积分

新手上路

积分
39
发表于 2025-11-7 20:24:13 | 显示全部楼层 |阅读模式
本帖最后由 zhoupenghao 于 2025-11-7 23:37 编辑

void Start(){ //脚本文件启动时只执行一次



}

void Update(){ //脚本文件启动后每帧执行一次,也就是实时刷新

}
涉及到的关键词transform(坐标);position(坐标轴位置)对应代码如

将某数值赋予坐标实现位移 注:Vector3是三维的意思
void Update(){
transform.position= new Vector3(数值.0.0);
}
可以直接将Vector3赋予为变量数值就可以动态调整坐标且是3d坐标
using省略
public class 左右移动:MonoBehaviour
{
     pubilc Vector3 左右移动值;//数值可在游戏调试运行面板更改
     
      void Start(){
}
      void Update(){
      transform.position=左右移动值

}

bool 开关  //用于假定状态可在游戏面板中调试用于调试或参与if语句
if(Input.GetKeyDown(KeyCode.A)  //获取键位用于位移(Input.GetKey)是长按数据;加Down是点按
{
  transform.position+=new Vector3(-1f,0,0);//若是长按需要坐标位置后跟f下面讲明
  • //+= 运算符表示将偏移量叠加到当前位置上
  • //此段代码仅在针更新代码块中有效
  • //乘以 Time.deltaTime 可以让移动速度不受帧率影响,确保在不同设备上移动速度一致(单位变为 单位 / 秒
  • //如transform.position+=new Vector3(-1f,0,0)*Time.deltaTime;

}
在代码中给数值加上 f(比如 1f、-1f)是为了明确指定这个数值是单精度浮点数(float 类型),这在 C#(Unity 的主要开发语言)中是一个重要的语法细节。

原因如下:

  • C# 的默认数值类型规则:
    直接写 1 或 -1 时,C# 会默认将其视为 整数(int 类型);而 Vector3 的构造函数参数要求是 float 类型。
    如果写成 new Vector3(-1, 0, 0),编译器会自动将 int 转换为 float(隐式转换),表面上能运行,但这是不规范的写法。
  • 避免歧义与潜在错误:
    当数值是小数时(比如 0.5),C# 会默认视为 双精度浮点数(double 类型)。如果直接写 new Vector3(0.5, 0, 0),编译器会报错,因为 double 不能直接隐式转换为 float,必须显式加 f(0.5f)才能正确匹配 Vector3 的参数类型。
    为了统一规范(尤其是处理小数时),即使是整数,也推荐加上 f 明确指定为 float,避免因类型转换产生意外错误。

简单说:f 是告诉编译器 “这个数是 float 类型”,确保与 Unity 中 Vector3 等 API 的参数类型匹配,是规范且安全的写法。


Debug.log("");   //在调试区域打印内容()括号内写string类型
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|樱论坛

GMT+8, 2025-12-8 02:24 , Processed in 0.044724 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表