• Unity3D 3D坦克大战


     视频学习来源

    移动和旋转

    using UnityEngine;
    using System.Collections;
    /*
     * Adminer:sun2955
     * http:www.yinghy.com
     * */
    public class Move : MonoBehaviour {
        private float moveSpeed = 7;
        private float rotateSpeed = 150;
        
        // 使用进行初始化
        void Start () {
        
        }
        
        //每一帧都会调用该函数
        void Update () {
    
     
           //  float inputx = Input.GetAxis("Horizontal"); //获得水平移动
           // float inputy = Input.GetAxis("Vertical"); //获得垂直移动
    
           //// this.transform.Translate(new Vector3(inputx * speed, 0, inputy * speed) * Time.deltaTime);
    
           // if(Input.GetKey(KeyCode.A)){
           //     this.transform.Rotate(new Vector3(inputx * speed, 0, inputy * speed) * Time.deltaTime);
           // }
           // if (Input.GetKey(KeyCode.D))
           // {
           //     this.transform.Rotate(new Vector3(inputx * speed, 0, inputy * speed) * Time.deltaTime);
           // }
        if(Input.GetKey(KeyCode.W)){
            this.transform.Translate(new Vector3(1, 0, 0)* moveSpeed * Time.deltaTime);
        }
        if (Input.GetKey(KeyCode.S))
        {
            this.transform.Translate(new Vector3(1, 0, 0) * -moveSpeed * Time.deltaTime);
        }
        if (Input.GetKey(KeyCode.A))
        {
            this.transform.Rotate(new Vector3(0, 1, 0) * -rotateSpeed * Time.deltaTime);
        }
        if (Input.GetKey(KeyCode.D))
        {
            this.transform.Rotate(new Vector3(0, 1, 0) *  rotateSpeed * Time.deltaTime);
        }
       
        }
        //物理运动
        void FixedUpdate() 
        {
    
        }
    }

     相机的跟随移动

    基本思路:主相机设定为一个比较好的视角,然后让相机以该视角的相对距离一直跟谁着移动。

    实现思路:设定好相机的左边后,建立一个空物体,将相机挂在空物体的下面,空物体的左边是跟谁主角色进行变化,这样就能实现主角动,相机动,并且相机以一定的相对距离拍摄主角

    using UnityEngine;
    using System.Collections;
    
    public class CameraMove : MonoBehaviour {
        private Transform tanktransform;
        // Use this for initialization
        void Start () {
            tanktransform = GameObject.FindGameObjectWithTag("Player").transform;
        }
        
        // Update is called once per frame
        void LateUpdate () {
            this.transform.position = tanktransform.position;
        }
    }
  • 相关阅读:
    Vagrant安装virtualbox
    博客园页面定制CSS
    Node.js安装详细步骤教程(Windows版)
    已完成题目
    20.10.07总结
    纯IPv6主机上搭建网站
    Azure Database for MySQL Connection Security -(3) Private Endpoint
    Azure Database for MySQL Connection Security -(2) VNET rules and service endpoint
    Azure Database for MySQL Connection Security -(1) Public network access and Firewall rules
    python教程:删除列表中某个元素的3种方法
  • 原文地址:https://www.cnblogs.com/sunxun/p/5463454.html
Copyright © 2020-2023  润新知