[Unity] 장애물과 충돌한 캐릭터 밀려나게(튕겨나가게) 하는 방법
·
[Projects]/[Unity] 인내의 숲(2024.03)
[개요]  상자를 밟으며 점프하던 캐릭터가 장애물과 충돌하게 되면 튕겨나가게끔 구현해야 한다. 이때 장애물의 오른쪽에 충돌하면 캐릭터도 오른쪽으로 튕겨나가고 왼쪽에 충돌하면 왼쪽으로 튕겨나가도록 설정하는 것이 일반적인 경우이다.[해결 방법]  1. 장애물에 태그를 설정해야 하는데 나는 `Obstacle`이라는 태그를 만들어서 설정해주었다. 그리고 `Collider2D`를 적용해줘야 하는데 내가 적용할 장애물은 톱니 모양이라 `Circle Collider 2D`를 적용해주었다.   2. 캐릭터에 적용할 `Player.cs` 스크립트에 `OnCollisionEnter2D` 메서드를 구현해준다. `dirX`는 캐릭터의 x축 방향과 충돌한 장애물의 x축 방향을 비교해서 왼쪽에서 충돌하면 왼쪽으로 튕겨나가게 하고..
[Unity] 자식 오브젝트의 위치 특정 값으로 설정하는 방법(transform.localPosition)
·
[Projects]/[Unity] 인내의 숲(2024.03)
[문제]  캐릭터가 밟고 올라갈 상자의 뒤에서 일정한 시간을 기준으로 올라왔다 내려가는 톱니바퀴 장애물을 만들고 있다. 장애물은 상자의 자식 오브젝트로 설정하였는데 스크립트에서 설정한 위치 값이 자식 오브젝트가 아닌 부모 오브젝트인 상자의 위치 값을 기준으로 설정되는 문제가 있었다.[해결 방법]  `transform.position`을 사용하는 경우 부모 오브젝트의 위치 값이 기준이 되므로 `transform.localPosition`을 사용해야 자식 오브젝트의 위치 값을 기준으로 동작하게 할 수 있다. transform.position = new Vector3(...); transform.localPosition = new Vector3(...);해결 완료!
[Spring Boot][Troubleshooting] :: "Error resolbing template [index.html]" - Vue 연동 문제
·
[Frame Work]/[Spring Boot]
[머릿말]캡스톤디자인 프로젝트로 Notion과 Discord를 합친 협업 프로젝트를 진행하고 있다. 처음 접해보는 Spring Boot를 사용하여 백엔드 개발을 하였고, Vue를 사용하여 개발된 프론트엔드와의 연동을 하는 과정에서 오류가 발생했다. [문제]두 프로젝트를 병합하기 위해 Spring Boot 프로젝트가 있는 디렉토리에 vue 디렉토리를 생성하고 그 아래에 test라는 이름의 vue 프로젝트를 위치해주었다.  이후 vue.config.js 파일에 4번 줄 내용을 추가해주었다. 이는 npm run build 명령어를 통해 vue 프로젝트를 build 했을 때 생성되는 파일의 경로를 설정하는 것이다.  Terminal에서 vue 프로젝트가 위치한 test 디렉토리로 이동하여 npm run buil..
[Git] :: '.DS_Store' 파일 + '.gitignore' 파일 추적 안하도록 설정하는 방법(깃헙에 안올라가도록)
·
[ETC]
[머릿말]맥북에서 git을 쓰면서 제일 불편한 점을 꼽으라면 아마도 계속해서 생기는 .DS_Store 파일이 아닐까 싶다... 파일이 영영 생기지 않도록 하는 명령어도 터미널에서 수없이 입력했지만 설정이 막힌 것인지 .DS_Store는 계속해서 생겨났다. 매번 파일을 지우고 커밋하는 것이 너무 불편하였는데 마침 해결 방법을 찾게 되어 글로 남겨놓으려 한다.[문제]git status 명령어를 입력하면 어느새 생긴 .DS_Store 파일이 보인다.  이 파일이 깃에 추가되지 않도록 .gitignore 파일을 추가하면 이제 .gitignore 파일이 보인다. 이 파일이 깃헙에 올라가는 것이 상관이 없는 분들이라면 넘어가도 되지만 난 모두가 협업하는 repository였기에 나만 이 파일을 올려놓기가 좀 그랬다..
[Flutter][Troubleshooting] :: 아이폰과 연결 안되는 문제 해결 방법
·
[Frame Work]/[Flutter]
[머릿말]아무리 시뮬레이터가 잘 되어있다 한들 기기에서 실행시키는 방법도 알아두어야 하니 맥북과 아이폰을 연결해서 빌드를 진행해보았다. 그러나 문제가 발생하며 앱이 실행되지 않았다.[문제]우선 플러터에서 발생한 에러 메시지는 다음과 같다.  메시지에 나와있는 것처럼 [설정] -> [개인정보 보호 및 보안] -> [자동화] -> [Android Studio]에 들어와 Xcode가 활성화 되어있는지 확인했는데 아래 사진과 같이 이미 활성화가 되어 있었다.  따라서 그 아래에 빨간색 메시지로 나와 있는 부분을 보고 Xcode에서 [Product] -> [Run]을 눌러보았다. 그랬더니 아래와 같은 오류가 발생하였다.[해결 방법]에러 메시지에 나와 있는 것처럼 아이폰에서 [설정] -> [일반] -> [VPN 및..
[Flutter][Troubleshooting] :: 시뮬레이터 실행 시 뜨는 오류(Logging Error: Failed to initialize logging system...)
·
[Frame Work]/[Flutter]
[문제]Xcode 버전 15.3이 되고 처음으로 시뮬레이터를 실행시켰는데 다음과 같은 오류 메시지가 콘솔에 출력되고 있었다.로그 시스템 초기화 실패. 로그 메시지가 사라질 수 있음. 이러한 문제가 계속된다면 'IDEPreferLogStreaming=YES' 설정을 active scheme actions 환경 변수에 설정해볼 것.  [해결 방법]오류 메시지에 나와있는 그대로 진행해주었다.1. Xcode의 상단 메뉴에서 [Product] -> [Scheme] -> [Edit Scheme...]을 선택해준다.  2. 왼쪽 메뉴에서 [Run]을 클릭하고 [Arguments] 탭을 누른 뒤 [Arguments Passed On Launch] 하단의 + 버튼을 눌러 아래 내용을 추가해준다.IDEPreferLogSt..
[Flutter][Troubleshooting] :: Warning: 'dart' on your path resolves to 문제 해결 방법
·
[Frame Work]/[Flutter]
[머릿말]이 글을 찾은 분들은 플러터 초기 개발 환경을 구축하고 마지막에 flutter doctor 명령어를 통해 확인을 하던 도중 문제를 겪었을 것이다...[문제]  [원인]Flutter에는 이미 Dart 패키지가 포함되어있기 때문에 또 다른 버전의 Dart는 굳이 필요하지 않다. 따라서 터미널에서 brew list 명령어를 입력했을 때 dart가 있으면 위와 같은 경고가 발생한다.  [해결 방법]해결 방법은 간단하다. 아래 명령어를 통해 dart를 삭제해주면 된다.brew uninstall dart  [결과]  * 참고 How to fix this Flutter Doctor "Warning: `dart` on your path resolves to " m..
[MAC][Flutter] :: 플러터 초기 개발 환경 구축 방법
·
[Frame Work]/[Flutter]
[머릿말]앱 개발에 관심이 생기고 나서 Swift를 먼저 공부하려 했으나 학교 프로젝트에서 필요한 앱의 개발을 위해 크로스 플랫폼 개발이 가능한 플러터를 먼저 습득해보기로 하였다. 윈도우와는 다르게 초기 환경 구축을 위해 해야 하는 것들이 적지 않아서 매번 찾아볼 수는 없으니 아예 정리를 해놓으려고 한다.1. Flutter SDK 설치우선 플러터 공식 홈페이지에서 SDK를 설치해야 한다. 아래 화면에서는 어떤 것을 선택하더라도 어차피 나중에 추가가 가능하므로 플러터에서 권장하는대로 iOS를 선택한다.  그리고 다음 화면에서 밑으로 내리면 SDK를 다운로드 하는 버튼이 있는데 인텔맥은 왼쪽, 실리콘은 오른쪽을 선택하면 된다. 내 맥북은 M2이므로 오른쪽을 다운받았다.  Download..
[C#] :: C# 핵심 내용 총 정리
·
[Programming Language]/[C#]
개요) 이번에 학교에서 Unity로 게임을 만들어보는 수업을 듣게 되었다. Unity가 게임을 만드는 프로그램이라는 것은 알고 있었지만 크게 관심있는 분야는 아니었기에 자세히는 몰랐다. Unity에서는 C#이 사용된다 하였고 C#을 사용해보지는 않았지만 여러 프로그래밍 언어를 사용해보면서 이름은 다르지만 어느정도는 서로 비슷한 문법을 지니고 있는 것을 느꼈기에 관련 내용을 찾아보았고 나중에 필요할 때 사용하기 위해 한 번에 정리해놓으려 한다. 목차) C#이란? 변수 연산자 클래스 조건문 반복문 배열(Array), 컬렉션(Collection) 주석 MSDN(Microsoft Developer Network) 1. C#이란? C#은 마이크로소프트에서 2000년도에 개발된 객체 지향 프로그래밍(Object O..
[Python] :: set의 합집합(union, |), 교집합(intersection, &), 차집합(difference, -)
·
[Programming Language]/[Python]
◎ set 이란? 파이썬에서 set은 집합 자료형을 말한다. set은 대괄호([ ])를 사용하는 리스트와 달리 중괄호({ })를 사용한다. 이는 보통 리스트에서 2개 이상 중복되는 원소를 1개만 남기고 사용할 때 사용한다. set은 다음과 같은 특징이 존재한다. 중복된 원소를 가질 수 없다. 순서가 존재하지 않는다. > 예제 코드) 만약 [1, 2, 3, 3, 4]와 같은 리스트나 "Hello"와 같은 문자열이 있다고 가정해보자. 이 두개를 집합으로 만들면 아래와 같은 결과가 반환된다. list1 = [1, 2, 3, 3, 4] str1 = "Hello" print("set(list1) : ", set(list1)) print("set(str1) : ", set(str1)) > 실행 결과) 위와 같이 중..