zoukankan      html  css  js  c++  java
  • 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;
        }
    }
  • 相关阅读:
    shell进行mysql统计
    java I/O总结
    Hbase源码分析:Hbase UI中Requests Per Second的具体含义
    ASP.NET Session State Overview
    What is an ISAPI Extension?
    innerxml and outerxml
    postman
    FileZilla文件下载的目录
    how to use webpart container in kentico
    Consider using EXISTS instead of IN
  • 原文地址:https://www.cnblogs.com/sunxun/p/5463454.html
Copyright © 2011-2022 走看看