NullReferenceException: Object reference not set to an instance of an object
์ด๋ ์๋ฌ๊ฐ ๋๊ตฌ์
๊ธธ์ด๊ฐ 3๋ฏธ๋ง์ด๋ฉด์ Gํค๋ฅผ ๋๋ฅด๋ฉด ํฌ๊ธฐ๊ฐ ์ปค์ ธ์ผ๋๋๋ฐ
๊ฟ์ฉ๋์ํ๋ค์ฉ...
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Legcontroller : MonoBehaviour
{
ย ย public float x = 0.1f;
ย ย private Transform bodybody;
ย ย void start()ย
ย ย {
ย ย ย ย bodybody = GetComponent();
ย ย }
ย ย // Update is called once per frame
ย ย void Update()
ย ย {
ย ย ย ย if (Input.GetKeyDown(KeyCode.G) && bodybody.localScale.x
ย ย ย ย {
ย ย ย ย ย ย transform.localScale += new Vector3(x, 0, 0);
ย ย ย ย }
ย ย ย ย ย
ย ย }
}
transform์ GameObject๋ฅผ ๋ถ๋ฌ์ค๊ณ
์ฌ์ฉํ์ ์ผ ๋์ ๊ทธ๋ฅ get์๋จ
GameObject ttemp = new GameObject(); Transform temp = ttemp.GetComponent<Transform>(); ์ด๋ฐ์์ผ๋ก์.. ๋ฐ์ฝ๋์ง๋ง ใ ใ ;
private Transform bodybody; ์ด๊ฑฐ๋ฅผ public ์ผ๋ก ๋ฐ๊พธ๊ณ ์๊ธฐ์์ ์ ๋๋๊ทธํด์ ๋์ผ๋๊น ์๋ฌ๋ฉ์์ง๋ ๋จ๋๋ฐ ๋๊ธด ๋๋ค์ฉ... ์ด๊ฒ๋ ๋ค๋ฅธ๊ฑด๊ฐ์?
์กฐ๊ฑด๋ฌธ์ bodybody๋ฅผ transform์ผ๋ก ๋ฐ๊พธ๊ณ bodybody ์ง์๋ ๋ ๊ฑฐ ๊ฐ์๋ฐ
๊ทธ๋ฌ๋ค ์๊ธฐ ์์ ์ transform์ ๊ฐ์ ธ์ฌ ๋๋ ๋ฐ๋ก Get์ํ๊ณ transform.xx๋ก ์ ๊ทผํ ์ ์์ด์
bodybody ๊ฐ ์ถํํ๋ค
if (Input.GetKeyDown(KeyCode.G) && bodybody.localScale.x ์ด๊ฑฐ ๋ญ์ <3 ์ด๋ ๊ดํธ ์๋ง์ผ๋ก ๋น ์ง ๋ฏ?
GetComponent ๋ GetComponent<์ปดํฌ๋ํธ ์ด๋ฆ>(); ๋ก ์จ์ผ ํ๊ณ ์ ์ด์ ๊ทธ๋ด ๊ฑฐ ์์ด ์์ ์ Transform์ ๊ทธ๋ฅ transform์ผ๋ก ์ ๊ทผํ ์ ์์ bodybody ๊ฐ๋ค ๋ฒ๋ ค ใ ใ
๋ถ๋ฑํธ๊ฐ ์ด์ํ๊ฒ ๊นจ์ ธ์ ๋์ค๋ค