unity第一天

105 阅读1分钟

using System.Collections; using System.Collections.Generic; using UnityEngine; public class player : MonoBehaviour { private int i = 0; private GameObject candle; private float x = 0; private float z = 0; private void Awake() { //Debug.Log("被唤醒的时候执行"); } void Start() //只会执行一次 { //先拿到蜡烛 先用标签拿到蜡烛 candle = GameObject.FindWithTag("candle"); Debug.Log(candle.name); //当物品放在场景里有两个坐标,世界坐标 局部坐标 Debug.Log(candle.transform.position);//世界坐标 Debug.Log(candle.transform.localPosition);//局部坐标 Debug.Log(candle.transform.localPosition.x); }

private float speed;
void Update() //Time.deltaTime 获取上一帧到当前这一帧所经过的时间
{
    i++;
    //Debug.Log($"这是第{i}帧,上一帧到现在的时间为{Time.deltaTime}");
    //if(i>2)transform.Translate(1,0,0);//每一次x轴上会偏移一个单位 从第三帧开始执行 每帧移动一 每秒移动 1/Time.deltaTime 算出一秒有多少帧
    //每秒移动两个单位  怎么办  计算出每帧移动的步数 2/(1/Time.deltaTime) 总的步长除以总帧数
    //if (i > 2) transform.Translate(2*Time.deltaTime, 0, 0);
    //我现在想表示一个坐标 Vector3
    //if (i > 2) transform.Translate(Vector3.forward*Time.deltaTime*2);//往z轴正方向每秒移动两格
    //按键判断 提供了一个虚拟轴 从-1到1进行变化 当你没有按的时候对应的方向就是0
    //Input类   可以使用偏移量 每个轴对应偏移移动的值
    x = Input.GetAxis("Horizontal");
    z = Input.GetAxis("Vertical");
    Vector3 dir = new Vector3(x,0,z);
    if(dir != Vector3.zero)
    {
        //Debug.Log($"{x},{z}");
    //改变物体的方向 朝向dir
    transform.rotation = Quaternion.LookRotation(dir);//欧拉角
    //怎么往前走
    //transform.Translate(dir*Time.deltaTime);
    transform.Translate(Vector3.forward* Time.deltaTime);
        //什么时候动 应该是改变x,z的值的时候就移动物体
        //可不可以给物体一个加速度 拿到x^2+z^2开根号  -
        speed = Mathf.Sqrt(x * x + z * z) * 10;
        transform.Translate(Vector3.forward * Time.deltaTime * speed);
    }
     
}

}

using System.Collections; using System.Collections.Generic; using UnityEngine;

public class camera : MonoBehaviour { private Vector3 dir; private GameObject player; void Start() { player = GameObject.FindWithTag("candle"); dir = player.transform.position - transform.position; }

// Update is called once per frame
void Update()
{
    transform.position = player.transform.position-dir;
}

}