개발의 시작 TIL(Today I Learned) 85

개발의 시작 TIL(Today I Learned) 수준별 학습(베이직) 내용 및 세번째 팀 프로젝트 현황

역할 분담으로 Result UI를 제작 시작혼자 할때와 둘이서 플레이할때를 구분하여 결과창 틀을 구현플레이어 쪽 UI를 받아 결과창에 배치 // 추후 수정할 수도 있음ResultUiBtn스크립트를 만들어서 결과창에 버튼 2개의 함수 코드를 작성 후 연결어제 실시한 수준별 학습 특강 정리(베이직)오브젝트의 부모, 자식간의 관계에 대해 알수있었다.   .parent를 이용해 부모의 transform으로 설정 해주면 해당 오브젝트의 자식 오브젝트가 될수있다.        // 만약 자식객체에 있는 컴포넌트에 접촉하고 싶다면  GetComponent(컴포넌트 기능을 가져오는 명령어)대신에 GetComponentInChildren(자식오브젝트의 컴포넌트 기능을 가져오는 명령어)을 사용하면 된다. 같은 부모를 두고..

개발의 시작 TIL(Today I Learned) 수준별 학습(베이직) 내용 정리

수준별 학습 (베이직)using UnityEngine;public class Rocket : MonoBehaviour{ private Rigidbody2D _rb2d; private float fuel = 100f; private readonly float SPEED = 5f; private readonly float FUELPERSHOOT = 10f; void Awake() { // TODO : Rigidbody2D 컴포넌트를 가져옴(캐싱) _rb2d = GetComponent(); } public void Shoot() { // TODO : fuel이 넉넉하면 윗 방향으로..

개발의 시작 TIL(Today I Learned) 객체지향 프로그 특강 내용 정리

OOP : 객체지향 프로그래밍개발을 하면서 가장 많이 듣고 중요하다는 소리를 듣는 일종의 개발방식이다.오늘 있었던 특강에서는 이 개념을 좀 더 이해 할수 있도록 준비된 강의 였습니다. [ Class, Object, Instance 의 차이] class = 붕어빵을 만드는 틀 // 클래스는 사용 설명서Object = 붕어빵 // 선언Instance = 붕어빵이 만들어지는 과정 이 차이에 대해서는 명확한 정의는 없다고 한다 그래서 각자 하는 설명이 다룰수도 있지만 면접에서도 질문이 나올만큼 중요한 부분이라고 한다.[연관성 과 의존성의 차이] 연관성 = 변수를 가져와서 사용의존성 = 함수를 가져와서 사용 의존성이 높아지면 클래스 간의 결합도가 높아지는 경향이 있다.그래서 의존성을 낮추기 위해 관련 클래스에서 ..

개발의 시작 TIL(Today I Learned) 세번째 프로젝트 5일차

오늘은 개인과제 제출 날이었다.본캠프가 시작 되고 약 3주 정도 되었지만 코드 작성은 여전히 어려움이 있었다. 다행스러웠던 점은 어떤식으로 짜야 할지 구상을 한다는 점이었다. 그래서 지난 과제들과 다르게 필수적인 부분은 구현이 가능했다.// 과제 제출 후 바로 반성할 점을 찾아보자면 블로그 검색이나 영상을 찾아보는 것을 너무 의존했다는 점이다 => 코드 작성이 서툴고 알고 있는 부분도 적어서 검색을 주로 했다고는 하지만 여러 코드가 섞이니까 나중에 가서는 나의 방식으로 풀고 싶어도 잘 안되거나 시간을 오래 잡고 있었다. 다음에는 의존성을 줄여나가는 것을 실천해 봐야겠다.코드가 너무 난잡하다.=> 구현하는것에만 생각이 집중 되어있다보니 정리 작업에 소홀히 한 것 같다. // 주석을 달거나 메모장이라도 열어..

개발의 시작 TIL(Today I Learned) 세번째 프로젝트 4일차

**필수 구현**캐릭터 만들기 * / 완  캐릭터 이동/ 이동은 키보드로 캐릭터는 마우스 방향을 볼것 * / 완 타일맵 제작 / 방 만들기 // 시간이 오래걸릴듯 * /  완 카메라가 캐릭터 따라가기 * / 완 캐릭터 애니메이션 추가 * / 완 이름 입력 시스템 구현하기  * / 완      // | UI 만들기                                                              | 씬 구성하기 오늘은 필수 구현 목록 중 3가지를 클리어 했다 첫번째로 타일맵 제작은  예상한 대로 시간을 많이 잡아 먹었다.  ** 시간이 걸린 이유 **구체적인 구상이 없는 상태에서 기억속 게임의 풍경을 재현할려고 했다 // 여기에서 먼저 구상해야 하는 부분이 얼마나 중요하고 시간이..

개발의 시작 TIL(Today I Learned) 세번째 프로젝트 2일차

// 오늘은 유니티 입문 강의의 진도가 후반부로 접어들었다.  강의 중 특히 어려웠거나 나중에 까먹을 것 같은 것들을 정리해보자  쿼터니언(Quaternion)유니티 인스펙터 창에서 나오는 회전은 Vecter3로 표현 되고 이런 방법을 오일러 각(Euler Angle)이라고 한다 하지만 많은 3D 소프트 웨어가 내부적으로 쿼터니언을 사용한다 쿼터니언을 사용할 시 짐벌락 문제를 피할 수 있다 / 극단적인 각도로 회전할 경우 한 축으로의 회전을 잃어버리는것을 짐벌락이라고 한다 쿼터니언 내장함수 Quaternion.Euler = 오일러각을 쿼터니언으로 변경할 수있다 Quaternion.LookRotation = 머리를 회전하는 것 처럼, 앞과 위를 특정한 방향으로 하는 회전 쿼터니언을 만든다 Quaternio..

개발의 시작 TIL(Today I Learned) 세번째 프로젝트 1일차

2번째 프로젝트가 끝나고 3번째 프로젝트가 시작되는 날이다유니티 입문에 해당되는 1주일 간의 강의를 듣고 개인 과제를 제출하고 다음 1주일에는 새로운 팀원들과 팀 프로젝트를 한다.처음 유니티 입문 강의를 들은 소감은 "어렵다"였다 사전 캠프에서 유니티에 대한 강의를 조금 들은 바가 있어서 알아먹기 정도는 할 줄 알았는데 시간이 지났다고 머리가 포멧 된것 같다. **게임 오브젝트** 요소 (컴포넌트) = 게임 오브젝트를 구성하는 부품//트랜스폼 스프라이트렌더러 스프라이트 렌더러 = 2d 이미지를 보여줌 리지드 바디 = 중력(강체물리) 필수 요소(트랜스 폼) = 위치, 크기, 회전                                      게임 오브젝트는 트랜스 폼을 이용한 부모 자식관계를 가짐 에셋..

개발의 시작 TIL(Today I Learned)두번째 프로젝트 7일차

오늘은 두번째 프로젝트의 마지막 발표회가 있는 날이다.추후 서면으로 피드백을 준다는 이야기가 있었지만 3 ~ 5일 정도 시간 소요된다고 합니다.그래서 이 글에는 발표회 중 튜터님의 한 말 중 피드백이 될 만한 말을 기록할려고 합니다. ** 첫 번째) 사운드 관련 매서드에서 파일경로를 고정한거에 대한 피드백 **파일경로가 코딩으로 인하여 고정이 되어 있다. 이럴경우 코드를 만든 사람 이외에는 해당 기능을 사용하기 힘들다다른 방법을 찾아봐라 좀 더  여러사람이 쓸 수있게 고민을 해봐라 ** 찾아 본 문제 해결법 **찾아보니 파일경로를 검색하는 기능을 하는 매서드를 통해 음원 파일에 저장위치를 알수 있는 코드가 나왔습니다.이 코드를 응용해서 해당 컴퓨터에 있는 음원 파일의 위치를 특정하고 그 위치와 사운드 재..

개발의 시작 TIL(Today I Learned)두번째 프로젝트 5일차

**글자색 변경을 이용해서 반짝이는 애니메이션 효과를 구현하고 밑 부분에서 로딩 글자에 움직이는 효과를넣고 싶어서 구상한 코드다**배열에 애니메이션효과에 구성요소인 색깔요소나 로딩 문자열요소를 추가 해주고 반복문을 통해 글자 색을변경을 지속해줬다  ** 문제가 되었던 점글자색이  변경 될때마다 깜박임이 있어서 원하는 애니메이션 효과가 구현이 되지 않았다** 해결 방법1. 글자 색 변경에서는 커서 포지션 위치 설정 코드를 반복문 안에 추가하는것으로 기존명령 구현 위에 다음 명령을 덧 씌우는것으로 해결2. 로딩 문자열도 비슷한 부분인데 이쪽에는 공백을 덧씌우는것으로 해결 콘솔창 크기를 조절해주는 함수를 만들었다** 문제가 되었던 점기본으로 설정된 콘솔 창 사이즈가 구현하고자 했던 디자인 출력 크기가 맞지 않..

개발의 시작 TIL(Today I Learned)두번째 프로젝트 4일차

두번째 프로젝트를 시작한지 4일차가 되었다 ** 오늘 한 일 ** using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace TextRPG16{ public static class ConsoleSize { // 콘솔 창 크기 설정 // 높이 // 콘솔 크기 고정 public static void ConsoleSetSize(int width, int height) { width = 80; // 너비 height = 40; // 높이 ..