전체 글 134

[React Native] Unable to resolve 에러

Unable to resolve "@react-navigation/native" from "App.js"Navigation 바를 만드는데 자꾸 이런 에러가 뜨면서 실행이 되질 않았다 npm start -- --reset-cache잔여 캐시 문제라는 말도 있어서 위와 같이 시도해 봐도 안 되었다npm remove @react-navigation/nativenpm install @react-navigation/native결국 @react-navition/native를 제거한 뒤 다시 설치해 주니 제대로 작동하였다 그리고 뒤에Unable to resolve "@react-navigation/bottom-tabs" from "App.js"이번엔 이렇게 에러가 떴는데, 마찬가지로 제거해준 뒤 다시 실행시켰더니 해..

[Unity, Spine] Spine 스킨 변경이 안 되는 문제(setSkin, setSlotsToSetupPose)

skeleton.SetSkin() 함수를 사용하여 스킨을 변경하는데, default 상태에서 처음 스킨을 변경할 때는 잘 동작했으나 1번 스킨에서 2번 스킨으로 넘어가는 게 되질 않았다 https://esotericsoftware.com/spine-api-reference API Reference - Spine Runtimes GuideThe Spine Runtimes are available for many programming languages. To simplify documentation, the API reference below is programming language agnostic. There may be minor differences for some languages, such as ..

[React Native] Expo 환경에서 안드로이드 스튜디오로 에뮬레이터 연결

React Native Expo 환경은 따로 안드로이드 스튜디오 설치를 하지 않고도 휴대폰 디바이스에 연결해서 개발 상황을 확인할 수 있는데, 휴대폰을 계속 켜놔야 하기도 하고 그냥 컴퓨터 내에서 에뮬레이터를 돌리는 게 나을 것 같았다 https://developer.android.com/studio우선 안드로이드 스튜디오를 설치해 준다 상단 메뉴바에서 File > Setting > Android SDK > SDK Playforms창에서 원하는 안드로이드 버전 설치 같은 메뉴바의 SDK Tools 창에서 Android SDK Build Tools, Android Emulator가 설치되어 있는지 확인한다 우측 상단에서 Device Manager로 들어가서+ 버튼을 눌러 새로운 디바이스를 만들어 준다옵션을..

[Unity] 플랫폼 위에서 아래로 점프하는 플레이어(하단 점프)

플레이어가 플랫폼 위에 올라간 상태에서 아래를 향해 점프할 수 있도록 구현해 볼 것이다 private IEnumerator coDownJump() { float y = transform.position.y; WaitForFixedUpdate wait = new WaitForFixedUpdate(); capsuleCollider.isTrigger = true; while (transform.position.y > y - 1.6f && transform.position.y = 2) return; if (_jumpCount == 1 && _unlockDoubleJump == false) return; rb.velocity = new Vector2(rb.velocity.x, 0); rb.AddForce(Vect..

[Unity] 땅에서 플랫폼 위로 점프하는 플레이어 (Platform Effector 2D)

아래쪽에서 플랫폼이 있는 쪽으로 뛰어도 머리를 부딪히지 않고 통과하여 올라가게 만드는 방법은 유니티에 이미 존재하는 컴포넌트를 사용하면 간단하다 플랫폼 오브젝트에 Platform Effector 컴포넌트를 추가해준다 이때, Composite Collider 등의 컴포넌트에서 Used By Effector 옵션을 체크해줘야 플랫폼 이펙터가 정상적으로 적용된다 Platform Effector에서는 Use One Way 옵션에 체크해주면 된다 아래는 해당 컴포넌트의 옵션들에 대한 추가 설명 Use Collider Mask: Collider Mask 사용 여부를 묻는 옵션, 체크 해제할 경우 Collider Mask 옵션이 가려진다 Rotational Offset: 로컬 기준 위쪽을 가르키는 회전 오프셋 오프셋..

[슈팅 알고리즘] Chapter 2. 탄환 (유도 레이저)

2.13 유도 레이저 유도 레이저는 유도탄을 응용하여 만들 수 있으며, 실제로 가장 선두의 움직임은 유도탄의 움직임과 같다. 단, 유도 레이저에는 꼬리가 존재하며 꼬리들은 각자 자신의 바로 앞부분의 좌표를 향해 앞부분의 회전각도로 이동하게 된다. // 레이저의 각부분을 나타내는 구조체 typedef struct LASER_STRUCT { float X, Y; // 좌표 float VX, VY; // 속도 float OldX, OldY; // 이전 좌표 float Angle; // 회전 각도 float OldAngle; // 이전 회전 각도 struct LASER_STRUCT* Prec; // 하나 앞 부분을 가리키는 포인터 // (선두부분일 경우는 NULL) } LASER_TYPE; void MoveHo..

[슈팅 알고리즘] Chapter 2. 탄환 (유도탄)

2.12 유도탄 유도탄은 메인 캐릭터를 향해 직진하는 탄환과 달리, 발사된 후에도 방향을 바꿔가며 메인 캐릭터를 쫓아오는 탄환이다 void MoveSimpleHomingBullet( float& x, float& y, // 탄환의 좌표 float mx, float my, // 메인 캐릭터의 좌표 float speed // 탄환의 속도 ) { // 목표까지의 거리 d 구하기 float d = sqrt((mx - x) * (mx - x) + (my - y) * (my - y)); // 속도가 일정한 값(speed)가 되도록 float vx, vy; // 탄환의 속도 벡터 if (d) { vx = (mx - x) / d * speed; vy = (my - y) / d * speed; } else { // 목표..

[슈팅 알고리즘] Chapter 2. 탄환 (분열탄)

2.11 분열탄 분열탄은 처음에는 하나의 탄환으로 발사되었다가 도중에 여러 개로 분열되는 탄환을 말한다 (느리고 큰 탄환 → 작고 빠른 탄환 여러 개로 분열) 분열탄은 조준탄과 n-way 탄을 조합하여 만들거나 방향탄과 n-way 탄을 조합하여 만들 수 있다 처음에 하나의 탄환을 발사하여 일정 시간 동안 이동시키다가, 그 탄환을 삭제하고 해당 위치에서 n-way탄을 발사하면 된다 * tip. 분열탄을 사용할 때에는 딱 봐도 분열할 것 같은 분위기를 연출해주는 것이 좋다. 플레이어 입장에서 전혀 분열할 것 같지 않던 탄환이 갑자기 분열하면 재미보단 스트레스를 받기 때문