C# 显示上一个选择对象蓝色和当前红色
现在,当我单击其他对象时,前面的对象将变为蓝色,因此我知道从应用程序开始时选择了哪些对象。 然后在最后两个对象之间创建一条线,并显示距离。 有关于如何创建行的帮助吗?C# 显示上一个选择对象蓝色和当前红色,c#,unity3d,C#,Unity3d,现在,当我单击其他对象时,前面的对象将变为蓝色,因此我知道从应用程序开始时选择了哪些对象。 然后在最后两个对象之间创建一条线,并显示距离。 有关于如何创建行的帮助吗?var CP=new GameOject;//当前选定 void Update () { if (Input.GetMouseButtonDown(0)) { Ray Raycost = Camera.main.ScreenPointToRay(Input.mouseP
var CP=new GameOject;//当前选定
void Update ()
{
if (Input.GetMouseButtonDown(0))
{
Ray Raycost = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit Hit;
if(Physics.Raycast(Raycost , out Hit , 230.0f , mask_ ))
{
GC = GameObject.Find(Hit.collider.gameObject.name);
GC.renderer.material.color = Color.red ;
}
}
}
var GCP=新游戏项目;//先前选定
公共静态对象名[]={“当前”、“以前”};//更改“选择静态”以在其他位置使用这些名称
字符串pName=“”;//保存上一个对象名称
int x=0;//如果只单击一次,则跟踪
if(Input.GetMouseButtonDown(0))
{
光线成本=Camera.main.screenpointoray(输入.mousePosition);
雷卡斯特击中;
if(物理射线投射(射线成本,命中率,230.0f,遮罩)
{
如果(x!=0&&x<2)//请确保至少选择了2个对象
{
GCP=GameObject.Find(Pname);//一次单击它就不起作用了Pname是“”,但当我们回来时。。;
ObjectNames[0]=Pname;
GCP.renderer.material.color=color.blue;
x=0;
}
x=1;
GC=GameObject.Find(Hit.collider.GameObject.name);//当前选中
GC.renderer.material.color=color.red;
Pname=Hit.collider.gameObject.name;//Pname=下次单击时的当前it循环
ObjectNames[1]=Hit.collider.gameObject.name;
}
}
希望这能奏效。MyBad在第3行中使用——公共静态字符串[]ObjectNames={“current”,“previous”};
var CP = new GameOject ; // current selected
var GCP = new GameOject ; // previous selected
public static ObjectNames[] ={"current" , "previous"}; // change on select static to use these name elsewhere
string pName =""; // save the previous object name
int x = 0; // track if only clicked once
if (Input.GetMouseButtonDown(0))
{
Ray Raycost = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit Hit;
if(Physics.Raycast(Raycost , out Hit , 230.0f , mask_ ))
{
if(x != 0 && x < 2) // be sure selected at least 2 object
{
GCP =GameObject.Find(Pname); // on one click it is not working Pname is "" but when we came back ..;
ObjectNames[0] = Pname;
GCP.renderer.material.color = Color.blue;
x = 0;
}
x = 1 ;
GC = GameObject.Find(Hit.collider.gameObject.name); // current selected
GC.renderer.material.color = Color.red ;
Pname = Hit.collider.gameObject.name; //pname = current it loop on next click
ObjectNames[1] = Hit.collider.gameObject.name;
}
}