之所以写这个脚本,是因为我想起了我还是新手的时候,那时为了一个角色控制脚本百度了半天还是一无所获,因为看不懂啊,都写的太高级了

希望这个脚本能够帮助那些 像曾经的我一样迷失于代码中的新手们能够清晰的理解这个角色控制的含义

 ///角色控制脚本

 public class Player : MonoBehaviour {

 public float m_speed=;   //这个是定义的玩家的移动速度  之所以Public是因为为了方便对其进行调节  (public的属性和对象会在Unity中物体的脚本选项中显示出来  前提是你把脚本挂在了物体上)

 void Update ()   //这个是刷新的意思   以帧为单位的大概每刷新一次1/20秒

 {

         float movex = ;   //这个代表的是玩家在x轴上的移动

         float movez = ;   //这个代表的是玩家在z轴上的移动

         if (Input.GetKey(KeyCode.W))   //这个意思是"当按下W键时"

         {

             movez += m_speed * Time.deltaTime;   //物体获得在z轴方向上的增量   也就是向前

         }

         if (Input.GetKey(KeyCode.S))   //按下S键时

         {

             movez -= m_speed * Time.deltaTime;   //后

         }

         if (Input.GetKey(KeyCode.A))   //A键

         {

             movex -= m_speed * Time.deltaTime;    //左

         }

         if (Input.GetKey(KeyCode.D))   //D键

         {

             movex += m_speed * Time.deltaTime;   //右

         }

         this.transform.Translate(new Vector3(movex,,movez));   //这句代码是把得到的偏移量通过translate(平移函数)给玩家  从而使得玩家的位置得到改变

    } }

附上玩家的坐标轴  图中飞机就是玩家  便于理解x轴z轴对玩家移动方向的影响

同时附上Translate函数的圣典介绍:

Transform.Translate 平移

function Translate (translation : Vector3, relativeTo : Space = Space.Self) : void

Description描述

Moves the transform in the direction and distance of translation.

移动transform在translation的方向和距离。

简单的说,向某方向移动物体多少距离。

If relativeTo is left out or set to Space.Self the movement is applied relative to the transform's local axes. (the x, y and z axes shown when selecting the object inside the Scene View.) If relativeTo is Space.World the movement is applied relative to the world coordinate system.

如果relativeTo留空或者设置为Space.Self,移动被应用相对于变换的自身轴。(当在场景视图选择物体时,x、y和z轴显示)如果相对于Space.World 移动被应用相对于世界坐标系统。

using UnityEngine;
using System.Collections; public class example : MonoBehaviour {
void Update() {
transform.Translate(Vector3.forward * Time.deltaTime);
transform.Translate(Vector3.up * Time.deltaTime, Space.World);
}
}

最新文章

  1. 分布式集群系统下的高可用session解决方案
  2. p2p音视频通信
  3. java异常架构图 和几个面试题
  4. Android学习十二:自定义控件学习
  5. Maven打包排除不需要的文件。
  6. mysql 把文件中的sql语句导入到mysql中
  7. Revit如何修改云线批注外观
  8. XP重装之后蓝屏
  9. &1的用法
  10. R语言基础(一) 可视化基础
  11. linux,Centos,bash: service: command not found
  12. unix c 11
  13. Linux开机禁用开启防火墙
  14. Hbase集群环境搭建
  15. java程序连接MongoDB副本集测试
  16. C#与Java对比学习
  17. node.js与ThreadLocal
  18. opencv 霍夫变换 实现图片旋转角度计算
  19. ios判断是否有中文
  20. markdown语法示例

热门文章

  1. 统计项目的java代码总行数
  2. gearman mysql udf
  3. Windows server 2008 R2充当路由器实现网络的互联(转)
  4. 如何实现在H5里调起高德地图APP?(上)
  5. Lotus开发性能优化
  6. Redis优化总结
  7. 使用MySQL Migration Toolkit快速将Oracle数据导入MySQL[转]
  8. 巧用css border
  9. Nginx负载均衡深入浅出
  10. C语言程序代写