我目前正在製作一種基於回合的遊戲類型,但是我仍然不知道如何將玩家移動到所選擇的敵人位置。讓一個gameobject移動到另一個被鼠標點擊選中的gameobject?
這是玩家腳本與敵人的位置。
void Update()
{
if ((Input.GetKeyDown("1")) && (BattleFlow.playerTurn == 1)) // attack monster 1
{
BattleFlow.currentDamage = 40;
GetComponent<Animator>().SetTrigger("PlayerMelee");
GetComponent<Transform>().position = new Vector2(-4.78f, 3.68f);
StartCoroutine(playerAttack());
}
else if ((Input.GetKeyDown("1")) && (BattleFlow.playerTurn == 1)) // attack monster 2
{
GetComponent<Animator>().SetTrigger("PlayerMelee");
GetComponent<Transform>().position = new Vector2(-4.45f, 1.77f);
StartCoroutine(playerAttack2());
}
}
玩家可以移動到怪物1的位置,但怪物2的腳本不起作用。即使我點擊了怪物2,玩家仍然朝着怪物1的方向前進。
這是我放置在敵人腳本上的鼠標點擊代碼。
// Update is called once per frame
void Update() {
void OnMouseDown()
{
Debug.Log(gameObject.name);
BattleFlow.selectedEnemy = gameObject.name;
}
else子句正在檢查與if子句完全相同的密鑰。當然,它永遠不會被執行。 – Milster