角色控制器之移动与飞行 [代码清单6-4]
2016-04-16 23:29
393 查看
Unity3d 游戏开发 宣雨松著 角色控制器的移动(旋转、向前、向后移动等)和飞行操作。
using UnityEngine; using System.Collections; public class Script_06_06 : MonoBehaviour { private CharacterController controller = null; private float moveSpeed = 3.0f; private float rotateSpeed = 3.0f; // Use this for initialization void Start () { // 获取角色控制器对象 controller = GetComponent<CharacterController>(); } // Update is called once per frame void OnGUI () { if (GUILayout.RepeatButton("向左旋转", GUILayout.Height(50))) { transform.Rotate(0, -rotateSpeed, 0); } if (GUILayout.RepeatButton("向右旋转", GUILayout.Height(50))) { transform.Rotate(0, rotateSpeed, 0); } if (GUILayout.RepeatButton("向上旋转", GUILayout.Height(50))) { transform.Rotate(rotateSpeed, 0, 0); } if (GUILayout.RepeatButton("向下旋转", GUILayout.Height(50))) { transform.Rotate(-rotateSpeed, 0, 0); } if (GUILayout.RepeatButton("向前移动", GUILayout.Height(50))) { Vector3 forward = transform.TransformDirection(Vector3.forward); controller.Move(forward * moveSpeed); } if (GUILayout.RepeatButton("向后移动", GUILayout.Height(50))) { Vector3 forward = transform.TransformDirection(Vector3.forward); controller.Move(-forward * moveSpeed); } if (GUILayout.RepeatButton("起飞", GUILayout.Height(50))) { transform.Translate(0, 1, 0); } if (GUILayout.RepeatButton("降落", GUILayout.Height(50))) { transform.Translate(0, -1, 0); } } }
相关文章推荐
- 第3周 C语言及程序设计初步例程-42 将数据输出到文本文件
- 初探JAVA中I/O流(二)
- 20145227 《Java程序设计》第7周学习总结
- PicketLink入门指南
- C#基础知识三之new关键字
- php-fpm.conf两个至关重要的参数
- Springmvc异常之--通配符的匹配很全面, 但无法找到元素 'mvc:resources' 的声明
- Python中的函数-1
- Java List遍历中删除元素
- C++中的explicit关键字
- 巩固C语言(六)----数字倒置转换、内存检索、移动窗口、HWND和CWnd、CodeBlocks环境配置
- PHP学习(十六)--封装性
- python文件操作
- Matlab 工作路径设置相关
- c++内存分配(new,operator new)详解
- ASP.NET Core中的依赖注入(5):ServicePrvider实现揭秘【补充漏掉的细节】
- PHP 页面编码声明方法详解(header或meta)(转)
- JAVA设计模式之------单例模式
- SAE部署django应用
- C++中map容器的说明和使用技巧