【Unity】使用射线碰撞限制人物主角多次跳跃
2015-12-01 00:11
666 查看
using UnityEngine; using System.Collections; /// <summary> /// 脚本位置:Player游戏对象身上 /// 脚本功能:控制Player移动 /// 创建时间:2015年11月30 /// </summary> public class PlayerMove : MonoBehaviour { // 主角运动速度 private float speed = 5f; // 主角身上刚体组件 private Rigidbody _rigidbody; void Start () { _rigidbody = GetComponent<Rigidbody> (); } // Update is called once per frame void Update () { // 通过更改刚体速度向量控制主角移动 _rigidbody.velocity = new Vector3 (Input.GetAxis ("Horizontal"), -0.5f, Input.GetAxis ("Vertical")) * speed; // 跳跃功能 if (Input.GetKeyDown (KeyCode.Space) ) { Jump(); } Debug.DrawRay(transform.position,Vector3.down,Color.black); } void Jump() { RaycastHit hit; if (Physics.Raycast (transform.position, Vector3.down, out hit)) { // 经测试得出默认距离是0.399,既transform.localScale.y的值 if (hit.distance <= 0.4f) { _rigidbody.AddForce (Vector3.up * 4000); } } } }
相关文章推荐
- Unity3D shader
- unity3d 官方文档的调试方法
- 跨平台AR增强现实开发(一)(AR开发环境的搭建)
- Unity3D深入浅出 - 新版动画系统(Mecanim)
- Unity3D 4.0新功能:Mecanim动画系统基础教程
- unity学习路程--button按钮触发事件及切换场景
- unity5.2 ulna的simple frame导入和pblua 的生成
- 如何同时打开多个Unity软件
- unity基础
- Unity3D 自由视角代码之解析
- playmaker学习
- Uni2D 学习
- Unity3d学习11
- Unity3d学习10
- Unity3d学习08
- Unity3d学习07
- Unity3d学习06
- Unity3d学习05
- Unity3d学习04
- Unity3d学习03