我希望我的玩家收集的每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);
}
}
如前所述,当我的玩家收集每十分时,我想让我的衍生敌人预制件移动得更快。谢谢:))
答案 0 :(得分:1)
您使用%
符号来执行此操作。向Score
添加1后,检查Score
除以10
时是否有提醒。如果没有余数,则增加。不要增加余数。
if (Score % 10 == 0){
//Increment movespeed variable from Movement script
Movement.movespeed += 4;
}
将上面的代码放在OnTriggerEnter2D
函数中。
出于某种原因,这看起来与另一个question非常相似,但OP未能得到答案。