C# 如何检测值是否在增加?

C# 如何检测值是否在增加?,c#,unity3d,C#,Unity3d,如何检测某个值是否与C#一起增加? e、 g如果我的位置.x值在上升或下降 if(transform.position.x < temp.transform.position.x){ ... } if(transform.position.x

如何检测某个值是否与C#一起增加? e、 g如果我的
位置.x
值在上升或下降

if(transform.position.x < temp.transform.position.x){
    ...
}
if(transform.position.x

这不起作用。

您可以创建一个方法,并通过使用
invokererepeating
每隔X秒调用一次,然后检查您的新位置是否低于或高于以前的值。检查后,将新值设置为保持上一位置的变量

float lastpos;    
void Start()
{
lastpos = transform.position.x;
InvokeRepeating("checkPos", 0.01, 2.0);
}

void checkPos(){
if(transform.position.x < lastpos){
//decreasing 
}
else if(transform.position.x > lastpos){
//increasing
}
else {
//stayed the same
}
lastpos = transform.position.x;
}
float-lastpos;
void Start()
{
lastpos=变换位置x;
调用重复(“checkPos”,0.01,2.0);
}
void checkPos(){
if(变换位置xlastpos){
//增加
}
否则{
//保持不变
}
lastpos=变换位置x;
}

您可以创建一个方法,并使用
invokererepeating
每隔X秒调用一次,然后检查您的新位置是否低于或高于其以前的值。检查后,将新值设置为保持上一个位置的变量

float lastpos;    
void Start()
{
lastpos = transform.position.x;
InvokeRepeating("checkPos", 0.01, 2.0);
}

void checkPos(){
if(transform.position.x < lastpos){
//decreasing 
}
else if(transform.position.x > lastpos){
//increasing
}
else {
//stayed the same
}
lastpos = transform.position.x;
}
float-lastpos;
void Start()
{
lastpos=变换位置x;
调用重复(“checkPos”,0.01,2.0);
}
void checkPos(){
if(变换位置xlastpos){
//增加
}
否则{
//保持不变
}
lastpos=变换位置x;
}

获取x轴值并将其存储在变量中。每帧检查
Update
函数,如果它发生变化,则更新该变量。如果更改了,也要更新该变量

float lastXVal;

void Start()
{
    lastXVal = transform.position.x;
}

// Use this for initialization
void Update()
{
    if (transform.position.x < lastXVal)
    {
        Debug.Log("Decreased!");
        //Update lastXVal
        lastXVal = transform.position.x;
    }

    else if (transform.position.x > lastXVal)
    {
        Debug.Log("Increased");

        //Update lastXVal
        lastXVal = transform.position.x;
    }
}

获取x轴值并将其存储在变量中。每帧检查
Update
函数,如果它发生变化,则更新该变量。如果更改了,也要更新该变量

float lastXVal;

void Start()
{
    lastXVal = transform.position.x;
}

// Use this for initialization
void Update()
{
    if (transform.position.x < lastXVal)
    {
        Debug.Log("Decreased!");
        //Update lastXVal
        lastXVal = transform.position.x;
    }

    else if (transform.position.x > lastXVal)
    {
        Debug.Log("Increased");

        //Update lastXVal
        lastXVal = transform.position.x;
    }
}