void Start()
ย ย {
ย ย ย ย var height = mainCamera.orthographicSize;
ย ย ย ย var width = height * mainCamera.aspect;
ย ย ย ย cameraMaxX = width;
ย ย ย ย cameraMinX = -cameraMaxX;
ย ย }
์ด๋ ๊ฒ ์นด๋ฉ๋ผ ํฌ๊ธฐ ๋ฐ์์ค๊ณ
void Update()
ย ย {
ย ย ย ย int enemyRand = Random.Range(0, enemyPrefab.Length);
ย ย ย ย float randomX = Random.Range(cameraMinX, cameraMaxX);
ย ย ย ย if (PlayerController.Instance.isGrounded && Input.GetKeyDown(KeyCode.G))
ย ย ย ย Instantiate(enemyPrefab[enemyRand],new Vector2(randomX, PlayerController.Instance.transform.position.y + 0.5f), Quaternion.identity);
ย ย }
์ด๋ ๊ฒ ์ฝ๋ ๋ฃ๊ณ ์คํํ๋๋ฐ ์ ์ด ์นด๋ฉ๋ผ ํฌ๊ธฐ ๋ฒ์ด๋์ ์์ฑ๋ ๋๋ ์๋๋ฐ ์์ด๋ฐ๊ฑฐ์?
์๋ง height, width ๊ฐ ์คํฌ๋ฆฐ ์คํ์ด์ค ๊ธฐ์ค์ด์ฌ์ ์๋ ์คํ์ด์ค๋ก ๋ฐ๊ฟ์ค์ผ ํ์ง ์์๊น?
์ ๊ธฐ์ screentoworldpoint ์ฐ๋ฉด ๋๋๊ฑฐ?
์ง๋ฌธํ๋ ํ๋ ๋ด๋ผ ์จ๋ฐ๋์
๋ญ๊ฐ ๋ฌธ์ ์
ใ ใ ใ ์ฌ๊ธฐ ๋ช๋ช ์ ์์ผ ํ๊ฐ๋์์?
ในใ ๋ญ๊ฐ ๋ฌธ์ ๋ฐ? ใ ใ ใ ใ
์ง๋ฌธํ๋ ํ๋ ๋ด๋ผ ์จ๋ฐ๋์ = ๋๋ ์ ๋ชจ๋ฅด๊ฒ ๋ค
์ด์๋ผ ์ง๋ฌธ๊ธ ์ธ๋๋ง๋ค ์ด๋ฌ๋๋ ์๋๋ ์๊ฑธ๋ฆฌ๋ค
์ ์๋๋์ง ๋ชจ๋ฅด๊ฒ ๊ณ ๋๋ค๊ฐ ํ๋๊ฑฐ if๋ฌธ ์์๋ค ๋ฃ์ด
ใ ใ ใ ใ
๋ญ ํ๋ทฐ๋ ์ฌ์ด๋๋ทฐ์๋ค๊ฐ ์นด๋ฉ๋ผ๊ฐ ์์ ๊ณ ์ ์ผ๋ก ๋ณด๊ณ ์์ด์ผ ๋ง์ด๋๋ ์ฝ๋๋ก ๋ณด์ด๋๋ฐ ์นด๋ฉ๋ผ ๋ฐ์ผ๋ก ๋๊ฐ์ผ๋ฉด cameraMinX MaxX ๊ณ์ฐ์ด ์๋ชป๋์๋๋ณด์ง Debug.DrawLine์จ์ ํ์ธํด๋ณด์
maxX ๊ฐ width * 0.5f๊ฐ ๋์ด์ผ ํ๋๊ฑฐ ์๋?
์, ์๋๊ตฌ๋.. ใ ในใ ใน
playercontroller.instance.transform์ด ์ ํํ ๋ญ์? ์ฃผ์ธ๊ณต ํฌ์ง์ ์? ๊ทธ๋ผ ์ฃผ์ธ๊ณต์ด ์ข์ฐ๋ก๋ ์์ง์ด๋ฉด randomx ๋ ์ฃผ์ธ๊ณตํฌ์ง์ .x + randomX๊ฐ ๋์ด์ผํ๋๊ฑฐ ์๋๊ฐ?
์ฃผ์ธ๊ณต ๋ง์ + ํด๋ณผ๊ฒ
ramdomx + ์ฃผ์ธ๊ณต ํฌ์ง์ ์ด ์๋๋ผ ์นด๋ฉ๋ผ ํฌ์ง์ ์ ใ ใ