zoukankan      html  css  js  c++  java
  • 控制数字继续上下移动并且始终朝向摄像机

    private bool UpOrDown = true;

    private Transform machineIDRoot;
    private List<GameObject> stroeMachineID = new List<GameObject>();

    //存储机器编号
    public void StoreMachineIDShow()
    {
      //发现机器编号根节点
      machineIDRoot = factory.transform.FindChild("MachineIDRoot");
      foreach (Transform obj in machineIDRoot)
      {
        if (!stroeMachineID.Contains(obj.gameObject))
        {
          stroeMachineID.Add(obj.gameObject);
        }
      }
    }
    //机器编号的动画及其控制
    private void MachineIDAnimControl()
    {
      foreach (GameObject obj in stroeMachineID)
      {
        obj.transform.LookAt(new Vector3(Camera.main.transform.position.x, obj.transform.position.y, Camera.main.transform.position.z));
        if (UpOrDown)
        {
          obj.GetComponent<Transform>().DOLocalMoveY(38, 3);
        }
        else
        {
          obj.GetComponent<Transform>().DOLocalMoveY(33, 3);
        }
        if (Vector3.Distance(obj.transform.localPosition, new Vector3(obj.transform.localPosition.x, 38, obj.transform.localPosition.z))<0.1f)
        {
          UpOrDown = false;
        }
        if (Vector3.Distance(obj.transform.localPosition, new Vector3(obj.transform.localPosition.x, 33, obj.transform.localPosition.z)) < 0.1f)
        {
          UpOrDown = true;
        }
      }
    }

    另一种方法:

    GameObject facilityIDParent;
    List<GameObject> storeFacilityId = new List<GameObject>();;

    private void SetFacilityIDShowString()
    {
      storeFacilityId.Clear();
      facilityIDParent = factory.transform.FindChild("facilityIDParent").gameObject;
      foreach (Transform kk in facilityIDParent.transform)
      {
        storeFacilityId.Add(kk.gameObject);
        kk.GetComponent<TextMesh>().text = dataLogicControl.StoreFacilityData[kk.name].id;
      }
    }

    private void FacilityIDAnimationController()
    {
      foreach (var kk in storeFacilityId)
      {
        kk.transform.LookAt(new Vector3(Camera.main.transform.position.x, kk.transform.position.y, Camera.main.transform.position.z));
        if (UpOrDown)
        {
          kk.transform.localPosition = Vector3.Lerp(kk.transform.localPosition, new Vector3(kk.transform.localPosition.x, 40, kk.transform.localPosition.z), Time.deltaTime);
        }
        else
        {
          kk.transform.localPosition = Vector3.Lerp(kk.transform.localPosition, new Vector3(kk.transform.localPosition.x, 35, kk.transform.localPosition.z), Time.deltaTime);
        }
        if (Vector3.Magnitude(kk.transform.localPosition - new Vector3(kk.transform.localPosition.x, 40, kk.transform.localPosition.z)) < 0.1f)
        {
          UpOrDown = false;
        }
        if (Vector3.Magnitude(kk.transform.localPosition - new Vector3(kk.transform.localPosition.x, 35, kk.transform.localPosition.z)) < 0.1f)
        {
          UpOrDown = true;
        }
      }
    }

  • 相关阅读:
    uva11025 The broken pedometer
    uva131 The Psychic Poker Player
    子集生成算法
    uva10167 Birthday Cake
    poj1129 Channel Allocation
    poj2676 Sudoku
    Emacs杂谈(一)Emacs环境 c++ 快捷键
    poj1416 Shredding Company
    英文报刊推荐
    搜索练习(二)工作效益
  • 原文地址:https://www.cnblogs.com/Study088/p/7339336.html
Copyright © 2011-2022 走看看