분류 전체보기 97

유니티 2D 방해물

캐릭터가 화면 내 머무르게 하기 위해 박스 콜라이더를 설정해준다. 플레이어를 우클릭하고 add component를 선택한 후 박스 콜라이너를 투가해준다. 박스 콜라이더의 범위를 지정하기 위해인스펙터로 들어가고 edit colider를 클릭해 범위를 지정해준다. 일단 다리까지만 범위로해준다.     스크립트에서 박스콜라이더랑 레이어마스크 변수를 선언한다. get component로 박스콜라이더를 받아오고  업데이트 함수에서 필요한 변수들을 선언해준다.hit을 이용해 물체의 충돌을 감지한다. hit의 반환값이 존재하는 경우 움직임을 멈추고, 없을 경우에만 움직일 수 있도록 해줬다. ..  이제 인스펙터 스크립트에서 레이어마스크 항목을 찾을 수 있을 것이다.이 레이어마스크로 벽처럼 갈 수 없는 공간을 지정해줘..

유니티 2025.01.26

유니티 2D 모션 반전

모션 반전을 사용하기 위해서는 인스텍터의 플립 속성에 접근해야 한다.그치만 여기에 스크립트로 어떻게 접근하지? ..찾아보니 SpritRenderer spriteRenderer 변수를 설정해주고 get component로 가져온 다음 아래에서 키 눌렸을 때 filp해주면 된다. 우와 이제 좌우로 움직일 수 있다~ 위 아래도 모션이 따로 필요할까 생각해봤는데 굳이 없어도 어느정도 자연스러운 것 같아 생략하기로 했다.

유니티 2025.01.24

유니티 2D 모션

뛰는 모션을 추가기 위해 애니메이션을 설정해주려 한다. 애니메이션 컨트롤러를 먼저 만들어 줘야한다.  이 컨트롤러를 드래그앤 드롭으로 캐릭터에 적용해준다. 애니메이션도 create로 만들어준다.모션을 계속 반복하려면, 루프타임에 꼭 체크를 해줘야한다. 애니메이터에서 run모션을 확인 할 수 있다.  애니메이션 탭으로 넘어가서, 이미지들을 넣어준다.  빠르게 달리는 상태를 만들기 위해 fast run 애니메이션도 create해준다.그리고 애니메이터에서 추가해 준 후 run->우클릭-> 상태 전이(make transation)를 선택해준다.뛰기-> 달리기로도 상태 전이 설정해주고파라미터 창에서 한번 완료시마다 호출되는 트리거를 만들어주고 이름은 isrun으로 해줬다.  마우스로 상태 전이를 선택할 수 있는데..

유니티 2025.01.24

유니티 2D

원하는 아이템 + sprite site opengameart.org 검색시 무료 이미지를 다운 받을 수 있다.  스프라이트가 덩어리로 되어있을 때 스프라이트 모드를 덩어리로 바꿔준다. (그래야 뭉텅이를 쪼갤 수 있다고,, )하고 나서 에디터를 열어준다   행과 열을 기준으로 나누기 위해.. 받은 그림이 17행 6열이라 그렇게 해준다.. (왤케 많아?..)    이렇게 잘라주고 옆에 apply눌러주면 원소 하나씩 저장된다..  이미지 픽셀 조절을 위해 point 로 설정해준다(픽셀이미지를 이용할 경우 뭉개짐을 방지하기 위해서라고..)   이렇게 설정 해주었다.. 아 그런데 캐릭터 배경이미지가 투명이 아니라서 신경쓰인다.ㅜㅜㅜㅜ  움직임 제어움직임 제어를 위해 스크립트 생성해줬다.  캐릭터가 앞과 위로만 움..

유니티 2025.01.24

백준 5214 환승

문제아주 먼 미래에 사람들이 가장 많이 사용하는 대중교통은 하이퍼튜브이다. 하이퍼튜브 하나는 역 K개를 서로 연결한다. 1번역에서 N번역으로 가는데 방문하는 최소 역의 수는 몇 개일까?입력첫째 줄에 역의 수 N과 한 하이퍼튜브가 서로 연결하는 역의 개수 K, 하이퍼튜브의 개수 M이 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ K, M ≤ 1000)다음 M개 줄에는 하이퍼튜브의 정보가 한 줄에 하나씩 주어진다. 총 K개 숫자가 주어지며, 이 숫자는 그 하이퍼튜브가 서로 연결하는 역의 번호이다. 처음에 그냥 모든 가중치가 1인 경로에서 최단거리를 찾는 문제라 생각하여 bfs로 정점과 간선의 정보를 사용해 풀이하였는데,, 메모리 초과가 나와서 마음이 힘들었다..이 문제를 해결하기 위해서는, 정점 사이 연..

백준 11657 타임머신

문제N개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 버스가 M개 있다. 각 버스는 A, B, C로 나타낼 수 있는데, A는 시작도시, B는 도착도시, C는 버스를 타고 이동하는데 걸리는 시간이다. 시간 C가 양수가 아닌 경우가 있다. C = 0인 경우는 순간 이동을 하는 경우, C 1번 도시에서 출발해서 나머지 도시로 가는 가장 빠른 시간을 구하는 프로그램을 작성하시오.입력첫째 줄에 도시의 개수 N (1 ≤ N ≤ 500), 버스 노선의 개수 M (1 ≤ M ≤ 6,000)이 주어진다. 둘째 줄부터 M개의 줄에는 버스 노선의 정보 A, B, C (1 ≤ A, B ≤ N, -10,000 ≤ C ≤ 10,000)가 주어진다. 출력만약 1번 도시에서 출발해 어떤 도시로 가는 과정에서 시..

백준 1504 특정한 최단 경로

특정한 최단 경로문제방향성이 없는 그래프가 주어진다. 세준이는 1번 정점에서 N번 정점으로 최단 거리로 이동하려고 한다. 또한 세준이는 두 가지 조건을 만족하면서 이동하는 특정한 최단 경로를 구하고 싶은데, 그것은 바로 임의로 주어진 두 정점은 반드시 통과해야 한다는 것이다.세준이는 한번 이동했던 정점은 물론, 한번 이동했던 간선도 다시 이동할 수 있다. 하지만 반드시 최단 경로로 이동해야 한다는 사실에 주의하라. 1번 정점에서 N번 정점으로 이동할 때, 주어진 두 정점을 반드시 거치면서 최단 경로로 이동하는 프로그램을 작성하시오.입력첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c..

백준 1987 알파벳

알파벳 성공다국어 문제세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다.말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두 번 지날 수 없다.좌측 상단에서 시작해서, 말이 최대한 몇 칸을 지날 수 있는지를 구하는 프로그램을 작성하시오. 말이 지나는 칸은 좌측 상단의 칸도 포함된다.입력첫째 줄에 R과 C가 빈칸을 사이에 두고 주어진다. (1≤R,C≤20$1 ≤ R,C ≤ 20$) 둘째 줄부터 R개의 줄에 걸쳐서 보드에 적혀 있는 C개의 대문자 알파벳들이..

백준 문풀 2025.01.13

백준 2468

안전 영역 문제재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 안전한 영역이 최대로 몇 개가 만들어 지는 지를 조사하려고 한다. 이때, 문제를 간단하게 하기 위하여, 장마철에 내리는 비의 양에 따라 일정한 높이 이하의 모든 지점은 물에 잠긴다고 가정한다.어떤 지역의 높이 정보는 행과 열의 크기가 각각 N인 2차원 배열 형태로 주어지며 배열의 각 원소는 해당 지점의 높이를 표시하는 자연수이다. 예를 들어, 다음은 N=5인 지역의 높이 정보이다. 입력첫째 줄에는 어떤 지역을 나타내는 2차원 배열의 행과 열의 개수를 나타내는 수 N이 입력된다. N은 2 이상 100 이하의..

백준 문풀 2025.01.01

명언 앱2

이번에는 버튼 클릭시 무작위 명언이 나타나는 것과 전체 클릭시 전체 명언 목록을 볼 수 있는 기능을 구현해보겠다1   메인 액티비티에 문자열 리스트를 생성하고 add 메서드로 요소를 추가한다. 랜덤 요소를 선택하기 위해서는 리스트의 random매서드를 사용하면 된다. 확인을 위해 로그를 사용해본다.  log.e 로 작성하였으니 e 부분 문장을 보면 되고 메인 액티비티에 작성하였으미 메인 엑티비티에서 찾아주면 된다.   로그 캣에서 확인해본 결과 엄청나게 깨진 것 을 확인했다..일단은 성공은 하였으니 계속 진행해본다..  레이아웃에서 명언 문장이 표시될 부분에 이름을 goodWDTextArea 라고 정해준다.메인 엑티비티에서 바인딩을 이용하여 binding.goodWDTestArea에 setText메소드로..

안드로이드 2024.12.18