当前位置: 首页 > news >正文

一个人可以备案几个网站唯尚广告联盟平台

一个人可以备案几个网站,唯尚广告联盟平台,网站建设 碧辉腾乐,网站制作公司员工目录 一、通过修改位置来实现移动二、通过物理系统实现位移三、通过CharacterController组件四、通过输入控制物体移动 一、通过修改位置来实现移动 利用修改Transform组件的position的两种常用方法。 使用Translate#xff08;#xff09;函数 /*物体将向x方向移动1.5单位… 目录 一、通过修改位置来实现移动二、通过物理系统实现位移三、通过CharacterController组件四、通过输入控制物体移动 一、通过修改位置来实现移动 利用修改Transform组件的position的两种常用方法。 使用Translate函数 /*物体将向x方向移动1.5单位*/ transform.Translate(1.5f,0,0);直接指定新的位置 /*将物体放在(1.5f,0,0)的位置上*/ transform.position new Vector3(1.5f,0,0);将上述两种方法在 void Update实现每一帧物体向x方向移动1.5个单位具体代码如下 void Update(){ transform.Translate(1.5f,0,0);//或transform.position new Vector3(1.5f,0,0);}注意此处1.5为啥要写1.5f根据C#的语法规定直接写1.5会被认为double类型的数而这里需要flaot类型数三个数据只要其中一个带有f就行。 由于电脑无法保证稳定的帧率会出现帧率高物体移动就快帧率低物体移动就慢。而在游戏开发大部分情况中我们应该确保”每秒移动同样的距离”因此我们应该做如下修改。 void Update(){ transform.Translate(1.5f*Time.deltaTime,0,0);//或transform.position new Vector3(1.5f*Time.deltaTime,0,0);}此处*Time.deltatime是确保每秒移动同样的距离。 Time.deltatime 是两帧之间的间隔如帧率为60帧/秒,则Time.deltatime 0.0167秒或者帧率为10帧/秒则Time.delatatime 0.1秒。所以Time.delatatime是一个随帧率改变而改变的数值确保物体每秒移动的数值是一样的。 psTime.deltatime是一个很小的数值因此与他相乘的数值应该大些。 二、通过物理系统实现位移 适用于对已经挂载刚体组件的物体 以下是常用的两种方法 利用AddForce对物体施加力改变位置 public Rigidbody rb;void Update(){ rb.AddForce(100,0,0);}注意一定要给物体挂载刚体物体才会收到力的作用 此处AddForce的参数为Vector3类型该参数用一个向量表示力且符合牛顿力学 这里表示每帧时间对物体轴方向施加100N的力根据牛顿力学力至少持续一点时间才会引起物体速度的变化。所以此处必有位移具体的位移由你施加的力跟每帧的时间有关。在游戏开发中我们只需要一边测试一边修改确保一个合适数值即可。 直接修改物体的速度 此处表示物体在X轴以10m/s的速度移动y轴跟z轴方向速度保持不变。 此方法相比上一个方法能让物体直接跳过加速度引起速度变化的步骤使物体能够匀速运动。 注意物理系统对于时间是非常敏感的。 举个例子我们需要子弹0.1秒后击中目标当更新频率不一定子弹0.3秒才击中目标这不是我们想要的。 当设备运行不流畅的时候帧率下降Time.deltatime会变大不在适用。所以我们应该做如下修改利用 FixedUpdate函数可以保证稳定的间隔。获取两段Update之间的时间间隔为Time.deltatime而获得两次FixedUpdate之间的时间间隔为Time.fixedDeltaTime一般Time.fixedDeltaTime是一个固定的值默认为0.0.2秒可通过Edit——Project Setting——Time来修改。 修改代码如下 public Rigidbody rb;void FixedUpdate(){ rb.AddForce(10*Time.fixedDeltaTime,0,0);//或rb.velocity new Vector3(10*Time.fixedDeltaTime,rb.velocity .y,rb.velocity.z);}三、通过CharacterController组件 private void Start(){_playerCC this.GetComponentCharacterController();}void FixedUpdate(){ _playerCC.Move(new Vector3(1.5f*Time.deltaTime,0,0););}四、通过输入控制物体移动 第一种方法 void Update(){ float horizontal Input.GetAxis(Horizontal);float vetical Input.GetAxis(Vetical);transform.Translate(horizontal*speed*Time.deltaTime,vetical*speed*Time.deltaTime,0);//或transform.position new Vector3(horizontal*speed*Time.deltaTime,vetical*speed*Time.deltaTime,0);}此处的speed为一个变量我们可以通过修改speed来控制物体移动的距离。 假设我们定义 float speed 10; 即此处每帧最大的位移为1100.01670.167米。 第二种方法 public Rigidbody rb;public float speed;void FixedUpdate(){ float horizontal Input.GetAxis(Horizontal);float vetical Input.GetAxis(Vetical);rb.AddForce(horizontal*speed*Time.fixedDeltaTime,vetical*speed*Time .fixedDeltaTime,0);//或rb.velocity new Vector3(horizontal*speed*Time.fixedDeltaTime,vetical*speed*Time.fixedDeltaTime,rb.velocity.z);}第三种方法 private void Start(){_playerCC this.GetComponentCharacterController();}public void FixedUpdate() {Vector3 motionValue Vector3.zero;/*获取键盘输入*/float h_InputValue Input.GetAxis(Horizontal);//左右移动float v_InputValue Input.GetAxis(Vertical);//前后移动motionValue this.transform.forward * v_InputValue * moveSpeed * Time.fixedDeltaTime;//前后方向的位移motionValue this.transform.right * h_InputValue * moveSpeed * Time.fixedDeltaTime;//左右方向的位移_playerCC.Move(motionValue);}通过上述的三种方法我们就可以实现每当按下相应的键物体就会往相应的方向移动一定的距离。
http://www.hkea.cn/news/14533388/

相关文章:

  • 个人网站 建设百度wap
  • 松江网站开发公司潍坊在线网站建设
  • 怎样创建微网站ui是什么
  • 免费无限建站梧州网站建设制作
  • 做网站做系统简述四个网络营销推广策略
  • 国外手机主题网站古典网站织梦模板
  • 蜘蛛从网站哪里抓取又拍网站怎么做
  • 有哪些做mg动画的素材网站管理员修改网站的参数会对网站的搜效果产生什么影响?
  • 企业做网站认证有哪些好处白酒 网站模板
  • 济南免费做网站seo公司外包
  • 佛山优化网站方法小项目加盟
  • 提供手机自适应网站制作东莞建筑
  • 自己建设网站网站赚钱哪些网站会盗取
  • 南京环力建设有限公司网站局域网建设网站如何访问
  • 四大门户网站百度云资源搜索网站
  • 苏州高端网站建设咨询seo网站优化培训
  • 中山免费企业网站建设中国建设银行财付通网站
  • 安徽福凯建设集团网站ai智能生成图片免费网站
  • 佛山建网站的公司asp.net使用wordpress
  • 上海网站建设咨询站霸网络国外设计网站door
  • 表白网页在线生成网站源码公众号开发怎么做
  • 什么网站做推广农产品比较好武穴市住房和城乡建设局网站
  • 太原做网站的鸣蝉公司2008系统怎么做网站
  • 网站建设入门书河北网站制作
  • 境内境外网站区别frontpage做的社交网站
  • 哪儿有那种网站廊坊网站建设模板
  • 自助免费网站制作视频制作软件哪个好用
  • 外链的论坛网站广州番禺区天气预报
  • 怎样做淘宝的导购网站手机移动网站建设
  • 网站关键词和描述404网站页面进入