분류 전체보기(123)
-
인터페이스 실제 사용했을때의 이점
인터페이스 사용의 이점인터페이스는 여러 클래스에서 공통적인 기능을 정의해둘 수 있는 강력한 도구이다. 인터페이스의 특정 기능만 필요할 때, 인터페이스 타입을 통해 클래스의 세부 구현에 의존하지 않고 기능만 호출할 수 있다.쉽게 말해, 인터페이스가 선언되지 않은 다른 클래스에서도 인터페이스에 선언된 함수만을 손쉽게 사용할 수 있는 방법이다.코드인터페이스 선언public interface IDamagalbe{ void TakePhysicalDamage(int damage);}클래스에서 인터페이스를 선언하지 않고 사용public class CampFire : MonoBehaviour{ public int damage; public float damageRate; List thing..
2024.10.31 -
위치나 속도 변환시 부드러움, 다양함을 주기 위해 사용하는 함수 SetEase()
SetEase()SetEase는 애니메이션의 속도와 변화 방식을 설정해주는 함수입니다. DOScale, DOMove 등의 도트윈 애니메이션 메서드와 함께 사용하여 애니메이션의 감속/가속 효과를 추가할 수 있습니다. 이렇게 하면 게임 오브젝트가 더 현실감 있게 움직이게 됩니다.주요 Ease 옵션들Ease.Linear: 일정한 속도로 애니메이션이 진행됩니다.Ease.InQuad: 천천히 시작하고 빠르게 종료됩니다.Ease.OutQuad: 빠르게 시작해서 천천히 종료됩니다.Ease.InOutQuad: 시작과 끝은 천천히 진행되고 중간은 빠르게 이동합니다. Ease.InOutElastic: 탄력적인 움직임을 주고 싶을 때 유용합니다.Ease.InBack: 시작할 때 약간 뒤로 당겨지며 시작되는 효과입니다.Eas..
2024.10.31 -
행동이 끝난다음에 실행하게 만드는 함수 OnComplete (익명함수)
익명함수 사용방법해당 로직이 끝나고나서 실행하고 싶은 코드가 있을때 OnComplete (익명함수)를 사용하면 좋다.예를들면 해당위치까지 이동을 한 다음에 오브젝트를 끄고 싶을때 사용하면 이동을 완료한 후에 오브젝트가 꺼지게 된다.OnComplete함수안에 코드랑 함수를 넣을 수 있다.코드코드를 작성했을때objMenu. transform. DOLocalMoveY(objMenu. transform. localPosition.y + 550f, 0.5f) .OnComplete(() =>{objMenu. SetAct ive(false) ;}); 함수를 작성했을때objMenu. transform. DOLocalMoveY(objMenu. transform. localPosition.y + 550f, 0.5f) .O..
2024.10.31 -
메인카메라 정중앙에 Ray를 쏠때 안됐던 이유
메인카메라 정중앙에 Ray를 쏠때 안됐던 이유해당 필드에서 Camera 를 가져와서 해당카메라의 정중앙 위치에 레이를 쏴서 해당 레이에 부딪힌 오브젝트 정보를 볼려고 했는데 안되서 이유를 찾아봤다.Interaction 클래스 안의 카메라 내용들만 뽑음private Camera camera;void Start(){ camera = Camera.main;}void Update(){ if(Time.time - lastCheckTime > checkRate) { lastCheckTime = Time.time; Ray ray = camera.ScreenPointToRay(new Vector3(Screen.width / 2, Screen.height / 2)); ..
2024.10.30 -
UI 게이지 바 만드는 방법
페키지 매니저 들어가서 2D Sprite패키지 설치 후에셋에 체력, 배고픔, 기력 같은 이미지 에셋파일 있는곳에 우클릭 -> Create -> 2D -> Sprites -> Square 생성 후 Canvas안에있는 Image컴퍼넌트 안에있는 Source Image안에 넣어주면 밑에 기능들이 추가적으로 몇개 생기는데 Image Type = Filled로 설정 후Fill Method = Horizontal로 설정 후 Fill Amount를 움직이면 빨간색 박스가 줄어든다.
2024.10.29 -
InputSystem에서 받아온 값을 Move함수를 사용해 캐릭터 움직임 구현
InputSystem에서 설정한 Action을 실행하는 로직public void OnMove(InputAction.CallbackContext context) //입력값은 2차원벡터이다.{ if (context.phase == InputActionPhase.Performed) //InputActionPhase.Started : 키를누르는 순간만작동, Performed : 키가 눌린상태에서도 값을 받아옴 { curMovementInput = context.ReadValue(); } else if(context.phase == InputActionPhase.Canceled) { curMovementInput = Vector2.zero; }}위에서 저장..
2024.10.29