[게임개발 종합반] 1주차 개발일지

2021. 12. 1. 17:35카테고리 없음

1주차 수업 목표는?!

- 유니티(Unity) 다뤄보기

- C# 기본 문법 익히기

- 유니티 기본 사용법 익히기

 

 

1주차 수업 내용 중 일부

 

 

<배운 것 간단히 정리>

 

캐릭터를 움직이기 전 'Visual Studio' 세팅 필요

-> 유니티에선 캐릭터가 코드를 가짐

-> 중요한 두 가지 함수: start(너는 태어날 때) & update(매 순간 이렇게 해라)

 

transform.position += new Vector3(0.05f, 0, 0);

-> 트랜스폼 안의 포지션을 Vector3 방향으로 계속 더해주라

-> float: 소수점을 나타내는 자료형, 소수를 쓰고 싶으면 뒤에 f를 붙여야 함

 

마우스 클릭 시 방향 바꾸기

-> if (Input.GetMouseButtonDown(0)) { toward *= -1; direction *= -1; }

 

충돌 세팅을 할 땐,

둘 다 Collider이 있어야 함, 둘 중 하나는 Rigidbody가 있어야 함

ex) 빗방울이 땅에 닿으면 없어지게 하기

 

'땅'인지 알 수 있게 하려면, ground라는 tag 필요

+ onCollisionEnter2D: 다른 콜라이더에 부딪혔을 때 실행되는 내장함수

-> void OnCollisionEnter2D(Collision2D coll) { if (coll.gameObject.tag == "ground") { Destroy(gameObject); } }

 

랜덤하게 위치 잡아주기

-> void Start() { float x = Random.Range(-2.7f, 2.7f); float y = Random.Range(3.0f, 5.0f); transform.position = new Vector3(x, y, 0); }

 

랜덤하게 빗방울 위치 잡아주기

-> start() 함수에 랜덤 position 세팅하기

-> void Start() { float x = Random.Range(-2.7f, 2.7f); float y = Random.Range(3.0f, 5.0f); transform.position = new Vector3(x, y, 0); }

 

+ int는 정수, float는 소수(3.55, 3.141.. 등)를 저장하기 위함

 

GameManager: 게임 전체를 조율하는 오브젝트

 

GameManager - 싱글톤 화

-> 싱글톤: 어디서도 부를 수 있는 '하나'로 만들어주는 것-> public static gameManager I; void Awake() { I = this; }

 

0.5초마다 한 번씩 실행되는 코드

-> InvokeRepeating 함수 사용-> InvokeRepeating("makeRain", 0, 0.5f);

 

점수 올라가는 함수

-> int totalScore = 0; public void addScore(int score) { totalScore += score; }

 

초기화 해야 할 요소들

-> timeScale, timeLimit, totalScore-> void Start() { InvokeRepeating("makeRain", 0, 0.5f); initGame(); } void initGame() { Time.timeScale = 1.0f; totalScore = 0; limit = 30.0f; }

 

 

<느낀 점>

 

간단한 것 같지만 어렵다..! 코드를 입력하는 과정에서 몇 번 오류가 나서 어떻게 해야 할지 몰랐다ㅜㅜ 하지만 어떤 함수를 잘못 입력해서 오류가 났을지 스스로 생각해보며 문제점을 해결할 수 있었다ㅎㅎ 수업은 재밌었다!! 이런 방식으로 게임 속 캐릭터와 같은 물체들이 움직인다는 걸 깨달으며, 나도 게임 개발 코딩을 마스터하고 싶다는 생각이 들었다 (가능할지 모르겠지만..ㅎㅎ) 앞으로 남은 수업도 열심히 들으며 지금은 생소한 함수가 나중엔 익숙해지길 바란다~~