본문 바로가기

게임 개발 일지/내일배움캠프 TIL89

일정한 간격으로 카드 배치하기 주요 코드 다시보기 // gameManager.cs void Start() { Time.timeScale = 1.0f; int[] rtans = { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7 }; rtans = rtans.OrderBy(item => Random.Range(-1.0f, 1.0f)).ToArray(); for (int i = 0; i < 16; i++) { GameObject newCard = Instantiate(card); newCard.transform.parent = GameObject.Find("cards").transform; float x = (i % 4) * 1.4f - 2.1f; float y = (i / 4) * 1.4f - 3.0.. 2023. 11. 3.
배경음악 종료하기 / 다시 시작 버튼 만들기 오늘의 학습 키워드 오늘의 목표! 기존에 사용한 르탄이 대신, 내가 좋아하는 모코코를 넣어 [모코코를 찾아라!] 게임으로 변신시키기. 1. 카드 이미지 바꾸기 Assets_Resources 에 있는 르탄이 파일을 삭제하고 내가 선정한 mokoko 사진 8개를 추가했다. resources 변경에 따라 - StartScene_Canvas 의 이미지 및 애니메이션 변경 - MainScene_cards 의 이미지 및 애니메이션 변경 리소스 하나만 바꾸려고 해도 기존에 적용한 크기, 애니메이션 등을 수정하는 작업이 필요하다. 2. 효과음 변경 및 추가 기존에 match 시 나오는 효과음을 '기분 좋은 향기' 효과음으로 변경했다. match 가 아닐 때 AudioClip wrong 을 재생시키도록 추가했다. // .. 2023. 11. 2.
카드에 랜덤으로 이미지 넣기 / 카드 2장만 열게 하기 오늘의 학습 키워드 1. 이미지 사이즈 조절하기 1) 카메라 사이즈 조절하기 2) Resources 또는 Images - 각 요소의 Pixels Per Unit 조절하기 Pixels Per Unit의 값이 클수록 이미지는 작아진다. 2. for 문 많은 요소에 같은 명령을 실행하고 싶을 때, for 문을 사용한다. 즉, for 문을 통해 반복적으로 명령을 내릴 수 있다. void Start() { for (int i = 0; i < 16; i++) { Debug.Log(i); } } 1) { ~ } 안의 내용은 for 문으로 수행할 내용, 2) ( ~ ) 안의 내용은 for 문이 적용되는 조건을 나타낸다. ( ~ ) 는 2개의 ; 로 구분하는데, ( 조건에 사용될 숫자 ; 언제까지 반복수행할 것인지 ; .. 2023. 11. 1.
게임 스테이지(난이도) 구현 / git 기초 학습 오늘의 학습 키워드 1. dog 에서 food 가 발사되도록 하기 1) dog의 위치 찾기 2) food 를 instantiate 하기 // gameManager.cs public GameObject food; public GameObject dog; void Start() { InvokeRepeating("makeFood", 0.0f, 0.2f); } void makeFood() { float x = dog.transform.position.x; float y = dog.transform.position.y + 2.0f; Instantiate(food, new Vector3(x,y,0), Quaternion.identity); } * Quaternion.identity : 회전 없음 * float y .. 2023. 10. 31.
마우스로 object 이동 / 게임 종료 로직 오늘의 학습 키워드 1. Asset 없이 Sprite에 애니메이션 부여하기 Animation의 녹화 기능을 활용해 특정 시간에 Sprite가 어떤 형태(색, 모양 등)를 가져야 하는지 지정할 수 있다. 2. 마우스 포인터로 요소 움직이기 1) 지금 마우스의 위치가 어디인가? = mouse의 좌표계를 카메라 좌표계로 바꾸고, 요소의 위치에 넣어주기 2) 마우스의 위치를 요의 위치와 동일시하기 = 요소의 위치를 변경시키는 방법 : transform.position 과 벡터값 활용 void Update() { Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); transform.position = new Vector.. 2023. 10. 30.