在声明为[重复项]的方法中使用C#变量

问题描述 投票:-1回答:2

我在C#脚本编写方面经验不足。所以,请忍受我。作为大学项目的一部分,我正在研究一个给定的统一项目,包括C#脚本。在我的工作分配中,我需要使用变量pelvisPos(您可以看到下面的图片链接)。有必要在外部方法public void getResults()中使用它。但是不可能在第一个声明上引用。您能帮我一个方法,如何在方法public void getResults()中使用此变量吗?我期待您的反馈!

image

c# unity3d variables methods public
2个回答
1
投票

您将不得不使该变量成为类的属性/字段,或多或少像这样:

public class YourClass
{
  private Vector3 pelivsPos;


  private int findClosestTrackedBody(BackgroundData trackerFrameData)
  {
    ...

     pelivsPos = new Vector3(...); // rest goes the same
 }

 public void getResults()
 {
  Debug.Log("Pelivs:" + pelivsPos); // now you can access that field
  }
}

请记住,您必须在findClosestTrackedBody之前致电getResults

还有此行:Debug.Log("Pelivs:" + pelivsPos);仅在Debug类实现了Vector3方法的情况下,才会将该值显示为public override string ToString()


0
投票

在您的情况下,无需大量修改,您可以这样做:并且您将在for循环内计算出所有值

for(int i = 0;..........)
{
  :
  :
   Vector3 pelivsPos = .....;
   getResults(pelivsPos);
   Vector3 nekpos =.............;
}


public void getResults(Vector3 pelivsPos)
{
     Debug.Log("Pelivs:" + pelivsPos); 
}

您正在使用临时变量

© www.soinside.com 2019 - 2024. All rights reserved.