好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Unity键盘WASD实现物体移动

本文实例为大家分享了unity键盘wasd实现物体移动的具体代码,供大家参考,具体内容如下

1首先在场景中建立一个capsule,将主摄像机拖到其物体下。

2.将脚本挂在capsule物体下,wasd 控制移动方向,空格延y轴向上移动,f延y轴向下移动

?

using system.collections;

using system.collections.generic;

using unityengine;

 

public class movecam : monobehaviour

{

  private vector3 m_camrot;

  private transform m_camtransform; //摄像机transform

  private transform m_transform; //摄像机父物体transform

  public float m_movspeed=10; //移动系数

  public float m_rotatespeed=1; //旋转系数

  private void start()

  {

   m_camtransform = camera.main.transform;

   m_transform = getcomponent<transform>();

  }

  private void update()

  {

   control();

  }

  void control()

  {

   if (input.getmousebutton(0))

   {

    //获取鼠标移动距离

    float rh = input.getaxis( "mouse x" );

    float rv = input.getaxis( "mouse y" );

 

    // 旋转摄像机

    m_camrot.x -= rv * m_rotatespeed;

    m_camrot.y += rh*m_rotatespeed;

 

   }

 

   m_camtransform.eulerangles = m_camrot;

 

   // 使主角的面向方向与摄像机一致

   vector3 camrot = m_camtransform.eulerangles;

   camrot.x = 0; camrot.z = 0;

   m_transform.eulerangles = camrot;

 

   // 定义3个值控制移动

   float xm = 0, ym = 0, zm = 0;

 

   //按键盘w向上移动

   if (input.getkey(keycode.w))

   {

    zm += m_movspeed * time.deltatime;

   }

   else if (input.getkey(keycode.s)) //按键盘s向下移动

   {

    zm -= m_movspeed * time.deltatime;

   }

 

   if (input.getkey(keycode.a)) //按键盘a向左移动

   {

    xm -= m_movspeed * time.deltatime;

   }

   else if (input.getkey(keycode.d)) //按键盘d向右移动

   {

    xm += m_movspeed * time.deltatime;

   }

   if (input.getkey(keycode.space) && m_transform.position.y <= 3)

   {

    ym+=m_movspeed * time.deltatime;

   }

   if (input.getkey(keycode.f) && m_transform.position.y >= 1)

   {

    ym -= m_movspeed * time.deltatime;

   }

   m_transform.translate( new vector3(xm,ym,zm),space.self);

  }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/weixin_38527697/article/details/79675188

dy("nrwz");

查看更多关于Unity键盘WASD实现物体移动的详细内容...

  阅读:60次