iT邦幫忙

2021 iThome 鐵人賽

DAY 15
0
Mobile Development

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

30天輕鬆學會unity自製遊戲-往前移動

用最簡單的方式Ctrl+C&Ctrl+V把場景往上延伸,Ctrl+D也可以直接複製此物件,看要製作多長遠的關卡跟內容就自行設定囉~(每一個場景間隔Y為12),此篇先用之前子彈一樣的往上方式,如想改變不同的關卡模式都可以嘗試看看(有背景移動方式或攝影機跟隨方式…等)
https://ithelp.ithome.com.tw/upload/images/20210915/20140598wzoQeY7Msx.png
複製一些背景,可以把統一的背景放在同一個空物件裡(Create Empty)暫時取名Bg
https://ithelp.ithome.com.tw/upload/images/20210915/20140598uHFQRtgagy.png
多加一個往上移動在Player程式裡面

    private void Update()
    {
        horizontalMove = Input.GetAxisRaw("Horizontal");
        transform.Translate(Vector3.up * 1 * Time.deltaTime, Space.World);
    }

在Main Camera裡面也加裝一個程式,暫定名稱為CameraUp此程式只是讓攝影機能跟Player一樣的速率向上移動(如果會寫程式或想嘗試改變的人,也可以讓Player修改成可上下左右移動,空氣牆就放在攝影機上,增加上下的空氣牆不讓Player跑出攝影機外)
https://ithelp.ithome.com.tw/upload/images/20210915/20140598FIIsUX3Q2t.png

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraUp : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        transform.Translate(Vector3.up *1 * Time.deltaTime, Space.World);
    }
}

現在會發生一個小問題,當Player碰撞到敵機的主體時會發生碰撞,碰撞後敵機跟Player都可能偏移角度跟接受到不同方向的推力,這不會是我們希望發生的碰撞
https://ithelp.ithome.com.tw/upload/images/20210915/20140598ffHktmnD5x.png
要讓物體碰撞後不改變某些角度可以在剛體Rigidbody裡面的Constraints裡面有XYZ三軸的角度,打勾後可以鎖定此軸角度不會改變,但現在碰撞到還是有不同的推力,這遊戲就先把Enemy敵機碰撞器的isTrigger打勾,先不要碰觸到即可
https://ithelp.ithome.com.tw/upload/images/20210915/20140598E5B6KjkVaW.png


上一篇
30天輕鬆學會unity自製遊戲-關卡場景製作
下一篇
30天輕鬆學會unity自製遊戲-新增死亡畫面
系列文
30天輕鬆學會unity自製遊戲30

尚未有邦友留言

立即登入留言