전체 글 (223) 썸네일형 리스트형 [React Native] Flexbox를 이용한 레이아웃 - (1) 리액트 네이티브 UI 디자인을 위해서는 Flexbox에 대한 이해가 필수적으로 필요하다고 생각해서 리액트 네이티브 공식 홈페이지에 있는 예제를 통해서 공부해보았다. 예제들을 설명하기 앞서 맨 처음 코드에 대해 설명하겠다. React Native와 TypeScript는 글 게시 기준으로 시작한 지 하루밖에 되지 않아서 설명에 있어 부족함도 있고, 잘 모르는 부분이 많습니다. 양해 부탁드립니다. 아래 코드는 App.tsx에 대한 기본 코드 설정이다. 먼저 flex에 대해 설명하겠다. flex는 쉽게 설명하자면 레이아웃에서 얼마큼 자리를 차지할 것인지에 대해 나타내 주는 것이다. style1, style2, style3에 width값을 주석 처리해주고 style1에는 flex:1을 추가, style1에는 fl.. [Unity] RotateAround()를 이용한 빙글빙글 돌기 RotateAround()라는 함수를 사용하여 빙글빙글 도는 움직임을 만들어보겠습니다. Transform.RotateAround(Vector3 point, Vector3 axis, float angle) point = 기준점 axis = 움직이는 방향(대략적인 설명이다.) angle = 움직이는 속도 movement = 움직이는 방향에 대한 정보를 저장하는 변수이다. moveSpeed = 움직이는 속도에 대한 정보를 저장하는 변수이다. Update()는 OnMove() 함수를 호출한다. FixedUpdate()는 transform.RoateAround(Vector3.zero, Vector3.back, movement * Time.fixedDeltaTime * moveSpeed);를 사용하여 (0,0,0).. [React Native] expo와 typescript로 실행하기 밑의 링크를 들어가서 시키는 대로 다 하면 너도 React Native 개발자! https://reactnative.dev/docs/environment-setup React Native · A framework for building native apps using React A framework for building native apps using React reactnative.dev [Unity] Quaternion.AngleAxis()를 이용한 플레이어가 마우스로 바라보면서 따라가는 법 Quaternion.AngleAxis()는 축 axis 주위를 angle만큼 회전한 rotation을 생성한다. moveSpeed = 이동속도를 저장한 변수이다. turnSpeed = 회전하는 속도를 저장한 변수이다. Awake() 함수를 통해 rigid를 초기화해준다. Update() OnRotateAndMove() 함수를 실행시켜준다. mousePos에 마우스 좌표를 넣어준다. 그리고 target에 mousePos - transform.position을 해서 target 방향을 얻는다. 그리고 Mathf.Atan2를 이용하여 tan(y/x) 각도를 구하는데 이 값은 라디안이기 때문에 Mathf.Rad2Deg를 사용하여 각도로 변경해준다. 그리고 -90도 또는 +270도를 해준다.(이렇게 안 해주면 정.. [Unity] A* 알고리즘 2d 길찾기 설명 2d 로그라이크 게임을 제작 중 최적의 길을 찾는 방법에 대하여 검색하다가 A* 알고리즘을 알게 되었다. 기본적으로 A* 알고리즘에는 시작 지점과 끝 지점을 알고 있다는 전제하에 실행이 된다. 그리고 A* 알고리즘에는 G, H, F, neighborNode, OpenList, ClosedList, FinalList라는 단어들을 기본적으로 알아야 한다. G = 이동했던 거리를 저장한다. H = 현재 노드를 기준으로 장애물을 무시한 가로 세로 최단 거리를 저장한다. F = G + H 값을 저장한다. neighborNode = 기준 타일에서 갈 수 있는 타일들을 neighborNode이라고 한다. OpenList = 검색대상들을 집어넣는 리스트 ClosedList = 검색을 마친 노드들을 집어놓는 리스트 Fi.. [Unity] Camera를 이용한 게임 화면 크기 구하기 Camera는 플레이어가 보는 화면을 구성하는 장치이다. xScreenHalfSize 스크린의 x좌표 가운데의 크기를 저장할 변수이다. yScreenHalfSize 스크린의 y좌표 가운데의 크기를 저장할 변수이다. orthograorthographicSize는 오쏘그래픽 모드일 때 카메라 수직 크기의 절반을 리턴해주는 함수이다. 따라서 이 값을 받아와 그대로 yScreenHalfSize에 넣어주면 된다. xScreenHalfSize의 값은 yScreenHalfSize에 메인 카메라의 비율을 곱해주는 것으로 구할 수 있다. 전체 크기를 구하고 싶다면 xScreenHalfSize, yScreenHalfSize에 2를 곱해주어서 구할 수 있다. [Unity] TouchPhase를 사용한 모바일 터치를 사용한 플레이어 움직이기 사용하는 환경에 따라 플레이어를 움직이게 하는 방법은 많다. 그 중에서 모바일 화면 터치로 플레이어를 움직이게 하는 방법에 대해 설명하겠다. 우선 TouchPhase는 터치 입력을 5가지 단계로 나타내준다. 다음은 5가지 상태에 관한 설명은 유니티 메뉴얼에서 가져온 것이다. Began 화면에 터치가 시작된 상태를 나타냅니다. Moved 손가락 터치가 화면에서 움직인 경우를 나타냅니다. Stationary 터치를 했지만 움직이지 않은 상태를 나타냅니다. Ended 사용자가 화면에서 손가락을 뗀 경우를 나타냅니다. 터치의 마지막 단계를 나타냅니다. Canceled 사용자가 자신의 얼굴에 장치를 가져간 경우 또는 5개의 터치가 동시에 이루어진 경우에 시스템이 터치의 추적을 취소합니다. 터치의 마지막 단계를 나.. [Hello 3D] Unity: 총알 스크립트 (완성) muzzle 총알이 생성될 위치를 가지고 있는 변수이다. bulletPrefab 총알의 프리팹을 저장할 변수이다. bulletSpeed 총알의 속도를 정할 변수이다. maxShotDelay 총알 발사 간격을 저장할 변수이다. curShotDelay 현재 흐르고 있는 시간을 저장할 변수이다. Start 함수를 통해서 curShotDelay에 다른 값이 들어가지 않게 0으로 초기화해준다. curShotDelay에 Time.deltaTime을 계속 더해주어서 시간이 얼마나 흘렀는지 계산한다. 만약 curShotDelay < maxShotDelay 조건을 만족한다면 그냥 함수를 나가게 return 시켜준다. 위의 조건을 만족시키지 않는다면 총알을 총알이 생성되어야 할 위치에 생성해주고, 현재 시간을 0으로 다시.. 이전 1 ··· 23 24 25 26 27 28 다음 목록 더보기