์ ์ดํ๋ ๋จธ๊ฐ๋ฆฌ๋ก๋ ์๋์ ๋ฌผ์ด๋ด ๋๋ค
์๋๊ฐ ๋ฐฐ๊ฒฝ์ ์ธ๊ฐ๋ก ๋๋ ๊ฐ ํ์ธ ์ ๋ค์ด๊ฐ๋ ์คํฌ๋ฆฝํธ์ธ๋ฐ
์คํฌ๋ฆฝํธ ๋ฃ์ผ๋ ์ค์ท์ฒ๋ผ ์น์ฐฝ๋์ ์ด์ผํด์ผํ๋์ง ์ผ์ฃผ์ผ ์ฐพ์์ผ์;;
์ด๊ฑฐ ํด๊ฒฐ๋ฒ ์ข ์๋ ค์ฃผ์ธ์
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BridgeController : MonoBehaviour
{
[SerializeField]
private float carSpeed = 100f;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
moveBridge();
}
void moveBridge()
{
Vector3 floor_position = this.transform.position;
if (transform.position.z <= -60f)
{
floor_position.z += 120f;
}
else if (transform.position.z >= -60f)
{
//transform.Translate(Vector3.up * carSpeed * Time.deltaTime);
floor_position.z -= carSpeed * Time.deltaTime;
}
this.transform.position = floor_position;
}
}
์ฐจ์ด๋ฅผ ๋นผ์ ๊ทธ๋งํผ์ ๋ํด
void moveBridge(){Vector3 floor_position = this.transform.position;if (floor_position.z < -60f){floor_position.z += 120f;}else{//transform.Translate(Vector3.up * carSpeed * Time.deltaTime);}floor_position.z -= carSpeed * Time.deltaTime;this.transform.position = floor_position;}}
์ด๊ฑฐ ๋ณต๋ถํด๋ผ
์ ์ด์ floor_position.z -= carSpeed * Time.deltaTime; ์ด์ค์ด ๋ธ๋ญ์ ์์ผ๋ก ๋ค์ ๋ณด๋ผ๋๋ ์คํ๋์ง ์๊ธฐ ๋๋ฌธ์ ์๊ธฐ๋ ๋ ผ๋ฆฌ์ ์ค๋ฅ์ด๋ค. ์์ผ๋ก ๋ณด๋ผ๋์ ์๋์ฐจ ์๋๊ฐ ์ธ์ ๋ ๊ฐ์๋ฆฌ๊ฐ ์์ผ๋ ์ขํ๊ฐ ํ์ด์ง๋๊ฒ ๋น์ฐํ๊ฒ
๋์ถฉ๋ด๋ else if๋ก ๋ถ์์ผ๋๊น ํ ํ๋ ์ ์ด๋์น๋งํผ ์ฐจ์ด๊ฐ ๋ฒ์ด์ง๊ฒ ๋ค carSpeed ๋ญ์๊ธฐ๋ฅผ else if๊ฐ ์๋๋ผ ์์ ์ฒ๋ฆฌํ๋๋ก ๋นผ๋ผ
๊ทธ๋ฆฌ๊ณ floor_position์ผ๋ก ์ฎ๊ฒจ๋๊ณ ์ transform.position.z์ ์ฐธ์กฐํจ? ๊ทธ๋ฆฌ๊ณ <=์ผ ํ์ ์๊ณ else ๋ค์ ์กฐ๊ฑด๋ฌธ์ ๋น์ฐํ ๋ง์กฑํ ํ ๋ฐ ๊ตณ์ด if๋ถ์ฌ๋์๊ฒ๋ ์๋ฏธ์์ผ๋ ๋นผ๋ผ