분류 전체보기 147

[Unity] 화면 밖으로 오브젝트 이동 불가하게 만들기

그냥 단순히 input을 입력받아 이동시켜주다 보면 카메라 밖으로 벗어나게 되는 경우가 생기는데, 이를 방지하기 위한 방법 Vector2 minBounds; Vector2 maxBounds; void InitBounds() { Camera mainCamera = Camera.main; minBounds = mainCamera.ViewportToWorldPoint(new Vector2(0, 0)); maxBounds = mainCamera.ViewportToWorldPoint(new Vector2(1, 1)); } Vector2 형태의 minBounds와 maxBounds를 정의해 준 다음 InitBounds 함수에서 이를 초기화해준다 (Start 함수에서 실행) main 카메라가 비추고 있는 곳의 좌측 ..

[Unity] New Input System 사용하기

1. Window - Pakage Manager에 들어가서 Input System을 install 해준다 2. 오브젝트에 Player Input 컴포넌트를 추가해준다 3. Create Actions 버튼을 눌러 새로운 Action Asset을 생성해 주고, Actions 필드에 해당 에셋을 넣어준다 4. Open Input Settings 버튼을 누르고, Create settings asset 버튼을 눌러준다 여기까지 하면 설정 끝 코드에서 해당 메소드들을 이용해서 작성해주면 된다 추가적인 Input을 생성하려면 아까 만들어두었던 input action asset을 열어서 최상단 + 버튼을 눌러 새로운 액션을 추가해주고 키 바인딩을 해주면 된다 (Listen 버튼을 누르고 해당 키를 누르면 바로 해당 키..

[Unity] 오브젝트가 Destory되지 않게 하기

유니티에서는 Scene을 기준으로 한 씬에서 다른 씬으로 넘어갈 때 이전에 있던 씬의 오브젝트들을 전부 Destory하고 이동하게 되는데, 이 때 오브젝트가 destory되지 않게 하는 방법에 대해 알아보겠다 void Awake() { int numScenePersists = FindObjectsOfType().Length; if (numScenePersists > 1) { Destroy(gameObject); } else { DontDestroyOnLoad(gameObject); } } 싱글톤 패턴을 사용하여 DontDestoryOnLoad함수를 사용한다 해당 스크립트를 적용한 오브젝트 하위에 유지시킬 오브젝트들을 넣어주면 된다 싱글톤을 사용하지 않을 경우, DontDestoryOnLoad에 gameo..

[Unity] TMP(Text Mesh Pro) 폰트 변경하기

1. 원하는 폰트를 다운로드 한다 2. 유니티 Asset 내 폴더를 만들어 해당 폰트의 ttf/otf 파일을 넣어준다 3. Window - TextMeshPro - Font Asset Creator을 클릭한 후 Source Font File 위치에 다운받은 폰트를 넣어주고, 아래에 Generate Font Atlas 버튼을 클릭해준다 완료되면 맨 아래쪽에 있는 Save 버튼을 눌러서 적당한 폴더 위치에 저장해준다 끝! 폰트 설정은 인스펙터 창의 Font Asset에서 아까 만든 asset을 선택해주면 된다

[Coding] if return 문의 코딩 스타일(Early Return)

강의를 듣던 중, 강사 분께서 이런 식으로 if 문을 활용해서 조건이 맞지 않으면 그냥 바로 리턴을 해버리는 방식으로 코드를 작성하셨다 여태 생각해왔던 바로는 if(myFeetCollider가 Ground 마스크에 IsTouchingLayers가 true라면) { if(value.isPressed) { // 속도 바꾸기 } } 이런 식으로 작성하리라 생각했는데 아니었다 이런 코드 작성법이 궁금해서 더 찾아보니, Early Return 이라고 부르는 듯 하다 이러한 방식으로 코드를 작성하게 되면 if 문의 들여쓰기를 줄여 코드가 간결해지고, 조건에 맞지 않는 경우를 미리 처리하므로 가독성이 높아진다는 장점이 있다 그러나 긴 코드 속에서 과하게 사용될 경우, 오히려 가독성이 떨어지고 함수가 복잡한 형태로 남..

[Unity] Scene 화면에 보이는 컴포넌트 아이콘 크기 축소하기

여러 컴포넌트 아이콘들이 플레이어에 붙으면서 플레이어의 모습도 잘 보이지 않아서 불편함 상단에 있는 기즈모(Gizmos) 메뉴를 클릭해서 3D Icons의 사이즈를 변경해주면 된다 체크박스를 해제할 경우, 아이콘이 일정한 크기로 유지되고 항상 표시된 상태로 보인다 참고 https://docs.unity3d.com/kr/2021.3/Manual/GizmosMenu.html

[jQuery] .attr()과 .prop()의 차이

.attr(): HTML의 속성을 다룬다 .prop(): JavaScript의 프로퍼티(속성)를 다룬다 * 자바스크립트에서 프로퍼티란 {키: 값} 을 의미 var $checkbox = $('#agree'); alert($checkbox.attr('checked')); alert($checkbvox.prop('checked')); 출력 결과 attr(): "checked" → HTML에서의 checked의 속성을 표시(checked) prop(): true → JavaScript에서의 checked의 프로퍼티를 표시(checked: true) 코멘트 var $comment = $('#get_comments'); alert($comment.attr('href')); alert($comment.prop('hr..

[CSS] input 요소 focus 시 외곽선 스타일 변경이 안 되는 문제

이런 input 요소에 focus를 했더니 이렇게 바뀌었다 input:focus에 border 스타일을 동일하게 넣어서 해결해보려고 했지만 안 됐는데 1. input의 경우, 클릭하거나 tab으로 선택했을 때 모두 focus-visible 상태가 된다 따라서 :focus에서 아무리 스타일 변경을 시도해도 안 먹히는 것이다... + button의 경우, tab으로 선택했을 때만 focus-visible 상태가 된다 2. 위 경우에는 border가 아니라 outline이 생기는 것! 위 사진에서 보이듯이 border 스타일의 문제가 아니라 outline 스타일의 문제였기 때문에 border 변경을 해도 소용이 없던 것... 따라서 .search-box>input:focus-visible { outline: ..

[프로그래머스] 취소되지 않은 진료 예약 조회하기 (Level 4)

https://school.programmers.co.kr/learn/courses/30/lessons/132204 문제: PATIENT, DOCTOR 그리고 APPOINTMENT 테이블에서 2022년 4월 13일 취소되지 않은 흉부외과(CS) 진료 예약 내역을 조회하는 SQL문을 작성해주세요. 진료예약번호, 환자이름, 환자번호, 진료과코드, 의사이름, 진료예약일시 항목이 출력되도록 작성해주세요. 결과는 진료예약일시를 기준으로 오름차순 정렬해주세요. select apnt_no, pt_name, patient.pt_no, appointment.mcdp_cd, dr_name, apnt_ymd from appointment inner join patient on appointment.pt_no = patien..