如何在该C#代码中交替改变一个变量?[已关闭]

问题描述 投票:-4回答:1
  void Update(){

      public int x = -10;

      if (Input.GetKey("w")){


        GetComponent<Rigidbody2D>().velocity = new Vector3(10, x);

      }
   }

当我按下 "w "键时,变量x为-10,当我再按一次 "w "键时,变量x应该变为9。而当我再次按下 "w "键时,x又应该是-10。我如何在我的代码中做到这一点?

c# unity3d
1个回答
1
投票

这是你的代码,只要用 GetKeyDown 里面 更新 函数。如果你喜欢更紧凑的代码,也可以使用布尔运算符或模数运算符。下一次,请记得在求解之前,先把你的解法贴出来。

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

public class PingPong: MonoBehaviour 
{
   private int counter = 0;

   void Update()
   {
      if (Input.GetKeyDown(KeyCode.W))
      {
         if (counter == 0)
            counter = 1;
         else
            counter = 0;

         Debug.Log(counter);
      }
   }
}
© www.soinside.com 2019 - 2024. All rights reserved.