Unity2D:当玩家每收集10点时,增加刷出物体的移动
本文关键字:增加 移动 10点时 玩家 Unity2D | 更新日期: 2023-09-27 18:02:56
我想让我的生成对象(敌人预制物)每收集10点移动速度加快。这是我的移动脚本,附加到我的敌人预制(这样它就可以在我的游戏中产生和移动):
public static int movespeed = 20;
public Vector3 userDirection = Vector3.right;
public void Update()
{
transform.Translate(userDirection * movespeed * Time.deltaTime);
}
}
这是我的分数脚本附加到我的播放器:
public Text ScoreText;
public AudioClip Coinsound;
public Text Highscoretext;
public GameObject enemy;
Movement movement;
private int Score;
public int highScore = 0;
void Start ()
{
Score = 0;
SetScoreText ();
if (PlayerPrefs.HasKey ("Highscore"))
{
highScore = PlayerPrefs.GetInt("Highscore");
}
}
void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.CompareTag ("Pick Up")) {
other.gameObject.SetActive (false);
Score = Score + 1;
SetScoreText ();
AudioSource.PlayClipAtPoint (Coinsound, transform.position);
}
}
如前所述,当玩家每收集10个点数时,我想让生成的敌人预制物移动得更快。谢谢:)
您使用%
符号来完成此操作。Score
加1后,检查Score
除以10
时是否有提示。如果没有余数,则自增。
if (Score % 10 == 0){
//Increment movespeed variable from Movement script
Movement.movespeed += 4;
}
将上面的代码放入OnTriggerEnter2D
函数中。
由于某种原因,这看起来与另一个问题非常相似,但OP未能得到答案。