【unity3d】利用键盘操作物体移动的方法
来源:互联网 发布:用c语言控制九九乘法表 编辑:程序博客网 时间:2024/06/06 02:49
利用W,S,A,D控制物体前后左右移动
方法一:
利用Input.GetAxis();方法
Input.GetAxis("Horizontal"); //利用A,D控制水平方向,这个方法的返回值是一个 在-1~1之间的数值,键盘输入A即为-1,D即为1
Input.GetAxis("Vertical"); //利用W,S控制前后方向,这个方法的返回值是一个 在-1~1之间的数值,键盘输入W即为-1,S即为1
接下来即可实现物体的前后左右移动:
void Update () { float BallX = Input.GetAxis("Horizontal"); float BallY = Input.GetAxis("Vertical"); if (BallX>0) { obj.GetComponent<Rigidbody>().velocity = Vector3.right*ballVelocity; } if (BallX < 0) { obj.GetComponent<Rigidbody>().velocity = Vector3.left * ballVelocity; } if (BallY > 0) { obj.GetComponent<Rigidbody>().velocity = Vector3.forward * ballVelocity; } if (BallY < 0) { obj.GetComponent<Rigidbody>().velocity = Vector3.back * ballVelocity; } }
这样可以很方便的实现物体使用键盘的移动,但是也有一些缺陷,就是无法进行前左。后右等偏移方向的移动,接下来就有了第二种方法。
方法二:
同样是利用Input.GetAxis();方法,但是这次是给需要移动的方向直接施加一个力
rd=GetComponent<Rigidbody>(); //获取rigidbody组件float BallX = Input.GetAxis("Horizontal"); float BallY = Input.GetAxis("Vertical"); rd.AddForce(new Vector(BALLX,0,BALLY)*5); //根据键盘的输入,来给物体加入各个方向的力,实现移动这种方法完美解决了第一种方法的缺陷,并且移动效果更加真实,代码量较少
如果有什么问题,可以留言给我哦
阅读全文
1 0
- 【unity3d】利用键盘操作物体移动的方法
- Unity3D 物体移动的方法
- Unity3D中受键盘控制的物体的简单移动
- unity3d摄像机跟随物体移动的简单方法
- unity3D中使用鼠标控制物体移动的方法
- Unity3D中移动物体位置的几种方法
- Unity3d 控制物体transform移动的几种方法
- Unity3d 控制物体transform移动的几种方法
- Unity3d 控制物体transform移动的几种方法
- Unity3d 简单的按照路径移动物体!
- Unity3D中物体的移动方式
- Unity3D中物体的移动方式
- unity3d 中实现物体的移动
- unity3d 2D物体的移动
- 点击键盘移动物体
- unity3d物体移动
- Unity3D控制物体移动
- Unity3D鼠标、键盘的操作
- Xms Xmx PermSize MaxPermSize 区别
- Java中的访问权限详解
- 归并排序
- 关于24点问题的深入(Java)
- 二叉树 24点游戏(Ⅰ) (浮点型精度问题!!!)
- 【unity3d】利用键盘操作物体移动的方法
- 第一篇博客
- jquery.uploadify.js上传插件API总结
- mybatis动态sql中foreach标签的使用
- Java 内存模型
- SourceTree安装时跳过登录
- c语言接口与实现--异常与断言(异常部分)的理解,含实例
- 飞燕围棋文件加密算法
- angular增删查+css