Assets > Create > Folder에서
Script를 생성
C# → rtan 생성
C#은 게임 개발에서만 주로 쓰이고 있다.
캐릭터 움직이기
void Update()
{
transform.position += new Vector3(0.05f, 0, 0);
}
start -> 생성 되자마자 일어남
update -> 매 프레임마다 일어남
여기서
transform.position은 transform의 position을 수정하겠다는 의미이다.
위 코드는 지금 포지션에 위 값을 더해라는 의미다.
C#에서는 소수는 f로 나타낸다.
760보다 클 때 다른 방향 보게 하기
float direction = 0.05f;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (transform.position.x > 2.8f)
{
direction = -0.05f;
}
transform.position += new Vector3(direction, 0, 0);
}
벽을 만나면 돌아가도록 코드를 수정
// Update is called once per frame
void Update()
{
if (transform.position.x > 2.8f)
{
direction = -0.05f;
}
if (transform.position.x < -2.8f)
{
direction = +0.05f;
}
transform.position += new Vector3(direction, 0, 0);
}
Debug.log로 position알아보기
Debug.Log(transform.position.x);
transform.localScale = new Vector3(-1, 1, 1);
이를 이용해 좌우반전되도록 수정하면
// Update is called once per frame
void Update()
{
if (transform.position.x > 2.8f)
{
direction = -0.05f;
transform.localScale = new Vector3(-1, 1, 1);
}
if (transform.position.x < -2.8f)
{
direction = +0.05f;
transform.localScale = new Vector3(1, 1, 1);
}
transform.position += new Vector3(direction, 0, 0);
}
마우스 이벤트를 받아 좌우반전하기
if (Input.GetMouseButtonDown(0))
{
toward *= -1;
direction *= -1;
}
바로 넣으면 toward에 빨간줄이 생기는데 이는 아직 toward를 정의하지 않았기 때문이다.
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonDown(0))
{
toward *= -1;
direction *= -1;
}
if (transform.position.x > 2.8f)
{
direction = -0.05f;
toward = -1.0f
}
if (transform.position.x < -2.8f)
{
direction = +0.05f;
toward = 1.0f
}
transform.localScale = new Vector3(toward, 1, 1);
transform.position += new Vector3(direction, 0, 0);
}
'스파르타코딩 공부내용 정리 > 유니티' 카테고리의 다른 글
2주차 내용정리 (0) | 2024.03.26 |
---|---|
2주차 2강 풍선 & 마우스 만들기 (0) | 2024.03.20 |
1주차 8강 숙제 - 빨간 빗방울 만들기 (0) | 2024.03.20 |
1주차 7강 게임 끝내기 (0) | 2024.03.20 |
1주차 5강 빗방울 코딩하기 (0) | 2024.03.19 |