Open QBDeficientCirno opened 3 years ago
关于玩家输入来影响游戏物体的方法
在这些天的学习中,我用到的输入方法一共有三种。
1.Input.GetButton("Horizontal");
GetButton表示检测当用户按住按钮名称标识的虚拟按键时,返回true。
此处的GetButton还有GetButtonDown和GetButtonUp,这两种检测的是在按下或松开的帧期间返回true
对于按键名称,其设置与管理地点位于Edit下拉单中Project Sittings中的Input Manager中。
2,.Input.GetKey("up");
GetKey表示检测用户按下该名称的按键时返回true。
此处的GetKey还有GetKeyDown和GetKeyUp,这两种检测的是在按下或松开的帧期间返回true。
括号中除了可以使用按键名以外,还可以使用KeyCode
如Input.GetKeyDown(KeyCode.RightArrow);
3Input.GetAxis("Horizontal");
此输入方式返回的值将会在-1到1之间变化。
另一种GetAxisRaw和GeyAxis的区别在于值的平滑变化
GetAxisRaw是立即变化的,如直接从0变为1
GetAxis是以0.05f的幅度进行变化
此处括号中的按钮名称与1中相同,区别在于此处positive处按钮按下后返回的值是0到1,negitive处按钮按下后返回的值是-1到0。
常用的按键及其对应的 Name 和 KeyCode 键盘按键 Name KeyCode
字母键:A,B,C……..Z a,…….z A……..Z (KeyCode.A)
数字键0-9 0-9 Alpha0-----Alpha9
功能键F1—F12 f1---f12 F1—F12
退格键 backspace Backspace
回车键 return Return
空格键 space Space
退出键 esc Esc
Tab键 tab Tab
上下左右方向键 up,down ,left, right UpArrow,DownArrow,LeftArrow
左右shift键 leftshift ,right shift LeftShift, RightShift
左右Alt键 left alt, right alt LeftAlt , RightAlt
左右Ctrl键 leftctrl , rightctrl LeftCtrl,RightCtrl
关于游戏角色移动的方法
就现在所知,让角色移动的本质是改变角色的position和播放动画一起造成的效果。 对于让玩家角色移动,当前所知的方法有三种 1.直接改变玩家的position
Vector2 CPosition = PlayerRB.transform.position; CPosition.y -= 1.0f; PlayerRB.transform.position = CPosition;
2.通过改变玩家的Velocity来改变position的值
PlayerRB.velocity = new Vector2(XVelosity * PlayerSpeed, PlayerRB.velocity.y);
3.通过AddForce增加一个加速度来改变position的值
PlayerRB.AddForce(transform.forward * thrust);