从0开始的unity c#脚本学习-1-按键移动

先上代码:

public float m_speed = 1;
void update()
{
	float movev = 0;
	float moveh = 0;
	if(Input.GetKey(KeyCode.UpArrow))
	{
		movev -=m_speed*Time.deltaTime;
	}
	if(Input.GetKey(KeyCode.RightArrow))
	{
		moveh -=m_speed*Time.deltaTime;
	}
	this.transform.Translate(new Vector3(moveh,0,movev));
}

我们通过以上的代码,进行简单的向上和向右的移动。

移动速度/方向位移

因为要完成的是移动操作,所以我们最初设定了一个float作为速度:

    public float m_speed = 1;

    float movev = 0;
	float moveh = 0;

m_ :在一些变量声明前加入m_,意思是类里的成员变量,在这里填入m_的变量,在面板内m_会被自动忽略。这是c#的一些编译习惯,通常也作为规范编程,这个属于“没必要,但通常要加”的。

紧接着,我们加入了两个float变量,作为每次变化,物体所进行的位移向量

获取键盘按键
Input.GetKey(KeyCode.UpArrow)

Input.GetKey:获取正在按下的键盘按钮。

当然,input除了GetKey之外,还有很多方法,如:
GetKey-在按下的过程中返回值-大多数使用
GetKeyDown-在按下的第一帧返回值-如一次特殊攻击后转为普通攻击
GetKeyUp-在按下的最后一帧返回值-如蓄力攻击的最后一帧

按下按键后移动
movev -=m_speed*Time.deltaTime;

位移 -= 速度 * 以秒来计算的速度
Time.deltaTime :以秒来计算,如以每秒10米的速度而不是每帧10米的速度
秒和帧不懂的请自行百度

平移过程
this.transform.Translate(new Vector3(moveh,0,movev));

this:此控件/物体
transform.Translate:平移,简单来说,就是向某方向移动物体,具体有多种用法,在此处,意思是以向量vector3(moveh,0,movev)前进
Vector3:创建一个新的具有给定x, y, z组件的向量。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值