string keyword="시작";
내일배움캠프 본강의가 시작되고 어제 깔아둔 unity를 통해 첫 강의에 발을 내딛었다.
1주차 빗물받는 르탄이!
분명히 강의를 보고 똑같이 따라 했지만 오류는 왜 자꾸 뜨는 것이며, 르탄이는 왜 말을 안 듣는지..
요약
배경과 캐릭터를 배치하고 빗방울을 랜덤모양으로 떨어트린다.
땅에 떨어지면 빗방울은 없어진다.
1. 벽을 뚫고 지나가는 캐릭터를 돌려세우기
if (Input.GetMouseButtonDown(0))
{
toward *= -1;
direction *= -1;
}
>>마우스를 클릭하면 방향전환
if (transform.position.x >= 2.7f)
{
direction = -0.05f;
toward = -1.0f;
}
if (transform.position.x <= -2.7f)
{
direction = 0.05f;
toward = 1.0f;
}
transform.localScale = new Vector3(toward, 1, 1);
>>벽에 부딫히면 반대쪽으로 이동
transform.position += new Vector3(direction, 0, 0);
>>캐릭터의 좌우반전
*코드를 잘 짰는데 캐릭터가 벽에 두세번 부딫혀야 좌우반전이 된다면
스크립트를 확인하자.
한개가 아닌 여러개가 들어가 있어 명령이 중복되면 캐릭터가 말을 안듣는다.
2. 빗방울 크기와 위치 랜덤 생성
float x = Random.Range(-2.7f, 2.7f);
float y = Random.Range(3.0f, 5.0f);
transform.position = new Vector3(x, y, 0);
type = Random.Range(1, 4);
>>랜덤한 범위 설정
if (type == 1)
{
size = 1.2f;
score = 3;
GetComponent<SpriteRenderer>().color = new Color(100 / 255f, 100 / 255f, 255 / 255f, 255 / 255f);
}
else if (type == 2)
{
size = 1.0f;
score = 2;
GetComponent<SpriteRenderer>().color = new Color(130 / 255f, 130 / 255f, 255 / 255f, 255 / 255f);
}
else
{
size = 0.8f;
score = 1;
GetComponent<SpriteRenderer>().color = new Color(150 / 255f, 150 / 255f, 255 / 255f, 255 / 255f);
}
transform.localScale = new Vector3(size, size, 0);
>>타입별 빗방울의 크기와 점수 및 컬러
--
if (coll.gameObject.tag == "ground")
>>땅에 빗방울이 닿으면
{
Destroy(gameObject);
}
>>사라짐
3.중력
둥둥떠있는 빗방울은 없다.
중력의 영향으로 땅에 떨어져야 할땐 Rigibody!
떨어지긴 떨어지는데 무적의 빗방울처럼 땅을 뚫고 떨어질수도 없다.
빗방울엔 circle collider / 땅엔 box collider 를 설정한다.
땅(ground)이 땅인지 알수있게 태그를 해준다.
오늘의 마무리
오티 및 식사시간 제외하고 5-6시간 공부했는데 겨우 빗방울을 생성함
목표했던 1주차 강의를 다 듣지 못해 아쉽다.
'개발자_뉴비일지' 카테고리의 다른 글
내일배움캠프 Unity 6일차 TIL - 헤멤 (0) | 2023.12.29 |
---|---|
내일배움캠프 Unity 5일차 TIL - 캠프 1주차 마무리 (0) | 2023.12.28 |
내일배움캠프 Unity 4일차 TIL - 신박함 (0) | 2023.12.27 |
내일배움캠프 Unity 3일차 TIL - 고양이의 난 (1) | 2023.12.26 |
내일배움캠프 Unity 2일차 TIL - 재미 (1) | 2023.12.22 |