現在會遇到Boss也會一直往前移動,(要測試可以先把攝影機跟player的這行註解掉)如果不做測試就繼續寫下去囉…(如果做到這邊應該有基本的遊戲理解能力…多嘗試一些想法,就能改變成自己的遊戲囉,網路上很多基本教學可以參考^^)
//transform.Translate(Vector3.up *1 * Time.deltaTime, Space.World);
現在要做的事情是看到Boss這程式就不要執行,不然就會一直往前移動,先把攝影機跟Player玩家的位置調整好,把Player的自動上移備註掉或刪掉
public class PlayerControl : MonoBehaviour
{
private void Update()
{
horizontalMove = Input.GetAxisRaw("Horizontal");
//transform.Translate(Vector3.up * 1 * Time.deltaTime, Space.World);
}
}
在Main Camera中間的位置放一個碰撞器(isTrigger打勾),這碰撞器要碰到Boss就停止移動
現在來修改一下Camera Up的程式
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraUp : MonoBehaviour
{
//設定一個布林值 名叫moveStop預設為false
bool moveStop = false;
void Start()
{
moveStop = false;
}
// Update is called once per frame
void Update()
{
//如果(moveStop不為true的時候執行)
if(!moveStop)
transform.Translate(Vector3.up *1 * Time.deltaTime, Space.World);
}
private void OnTriggerStay2D(Collider2D collision)
{
//如果(碰撞器遇到標籤叫"Boss"的執行)
if (collision.tag == "Boss")
//讓布林moveStop = true
moveStop = true;
}
}
現在要改boss的標籤,跟直接改敵機一樣,新增完記得放上
最後攝影機跟Player位置調整好後,把Player拖曳進Main Camera,讓Player變攝影機的子物件跟著攝影機
最後長這樣就能執行,攝影機的碰撞器碰到Boss就會停下囉