您的位置:首页 > 其它

游戏中按键前后移动和基本的旋转和移动知识

2017-08-18 19:36 204 查看
旋转总结

//圆内随机的一个点
        Debug.Log(Random.insideUnitCircle);
        //沿着世界轴X轴旋转,正方向顺时针旋转
        transform.Rotate(newVector3(1, 0, 0),
Space.World);
        //沿着自己的X轴正方向旋转
        transform.Rotate(newVector3(1, 0, 0));
        //沿着世界轴的中心向上旋转
        transform.RotateAround(Vector3.zero,
Vector3.up, 20 *
Time.deltaTime);
        //每秒30°顺时针旋转
        transform.Rotate(newVector3(0, 30, 0) *
Time.deltaTime);
        //绕着Y轴每次旋转45°
        transform.Rotate(newVector3(0, 1, 0), 45 *
Time.deltaTime);

移动总结:

//向正方向移动   每秒移动2米
        transform.Translate(Vector3.forward *
Time.deltaTime * 2);
        //向X轴正方向移动
        transform.Translate(newVector3(1, 0, 0) *
Time.deltaTime * 5);

通过按键控制物体的移动方向 

    if (Input.GetKey(KeyCode.W))
        {
            obj1.transform.Translate(Vector3.forward *
Time.deltaTime * 2);
        }
        if (Input.GetKey(KeyCode.S))
        {
            obj1.transform.Translate(Vector3.back *
Time.deltaTime * 2);
        }
        if (Input.GetKey(KeyCode.A))
        {
            obj1.transform.Rotate(newVector3(0, -30, 0) *
Time.deltaTime * 2); 

        }   上面的程序是当按下A时向左旋转30度
       
if (Input.GetKey(KeyCode.D))
        {
            obj1.transform.Rotate(newVector3(0, 30, 0) *
Time.deltaTime * 2);
        }   向右旋转30度
        if (Input.GetKey(KeyCode.Space))
        {
            obj1.transform.Translate(Vector3.up *
Time.deltaTime * 15);
        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: