iT邦幫忙

2021 iThome 鐵人賽

DAY 20
0
Mobile Development

30天輕鬆學會unity自製遊戲系列 第 20

30天輕鬆學會unity自製遊戲-調整攝影機

現在會遇到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就停止移動
https://ithelp.ithome.com.tw/upload/images/20210920/20140598iENM12dbnH.png
現在來修改一下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的標籤,跟直接改敵機一樣,新增完記得放上
https://ithelp.ithome.com.tw/upload/images/20210920/20140598m6lNRWmoy5.png
最後攝影機跟Player位置調整好後,把Player拖曳進Main Camera,讓Player變攝影機的子物件跟著攝影機
https://ithelp.ithome.com.tw/upload/images/20210920/201405983ALRf8e9AY.png
最後長這樣就能執行,攝影機的碰撞器碰到Boss就會停下囉
https://ithelp.ithome.com.tw/upload/images/20210920/201405987d3UGSUdL2.png


上一篇
30天輕鬆學會unity自製遊戲-製作BOSS
下一篇
30天輕鬆學會unity自製遊戲-Boss死亡問題跟通關畫面
系列文
30天輕鬆學會unity自製遊戲30

尚未有邦友留言

立即登入留言