인프런 커뮤니티 질문&답변

안상후님의 프로필 이미지

작성한 질문수

[Unity] 함께 만들어가는 방치형 게임 개발

아이템 획득 연출

코드오류 (버전문제인지 궁금합니다)

해결된 질문

24.09.26 23:50 작성

·

53

0

유니티 버전을 22.3.6f 로 하라고 하셨었는데 lts버전이 아니여서 22.3.47f 로했는데

image.png

그래서 그런건지 여기도 이렇게 글씨에 이렇게 그어져있고 자꾸 오류가 뜨네요 ㅠ

#pragma warning disable CS0618 // 형식 또는 멤버는 사용되지 않습니다. 이렇게 넣어서 오류 문구는 안뜨는데 상관없는 걸까요??

답변 2

0

Pinous님의 프로필 이미지
Pinous
지식공유자

2024. 09. 27. 11:56

안녕하세요 🙂 particleSystem의 duration사용시 이젠 사용되지 않는 코드라는 오류 문구가 하나 뜨기는 하는데 실제 동작은 잘 진행이 될 겁니다..! 저 오류 코드는 무시하셔도 됩니다 🙂

0

인프런 AI 인턴님의 프로필 이미지

2024. 09. 26. 23:56

안녕하세요, 인프런 AI 인턴입니다. 안상후 님.

질문해주신 내용을 바탕으로 유니티 버전과 코드 오류 관련 문제를 확인해 보았습니다. 오류 메시지는 특정 유니티 버전이나 코드 작성 방법에 기인한 것 같지만, 정확한 원인을 파악하기 위해서는 다음과 같은 접근이 필요합니다.

유사한 문제들을 해결하는 방법과 관련된 몇 개의 게시물을 안내드립니다:

1. 캐릭터 이동 구현 rotation 값 변경

발생할 수 있는 Transform 오류와 관련된 해결 방법을 다루며, transform 관련 문제의 근본 원인에 대한 내용을 확인할 수 있습니다.

해결 방법:

주어진 코드에서 consistentlySetProperty 메소드를 올바르게 사용할 경우, SetParent 메소드와 false 매개변수를 적용하는 것이 좋습니다. 이는 로컬 좌표계를 유지하여 발생 가능한 다양한 문제를 예방할 수 있습니다.

// 잘못된 방식 (오류 발생 가능성)
rectTransform.parent = parentTransform;

// 올바른 방식
rectTransform.SetParent(parentTransform, false);

2. 오브젝트 풀링

오브젝트 풀링(Object Pooling)에 대한 설명과 올바른 접근 방법에 대한 게시물입니다. 코드 이해를 돕기 위해 Action을 사용한 콜백 함수에 대한 이해가 필요합니다.

var goObj = Base_Mng.Pool.Pooling_OBJ("Monster")
    .Get((value) => {
        value.GetComponent<ParticleSystem>().duration;
        Base_Mng.instance.Return_Pool(value.GetComponent<ParticleSystem>().duration, value, "Smoke");
    });

위 코드는 오브젝트 풀링을 활용하는 것으로 보입니다. 이를 통해 생성된 오브젝트를 관리하고 반환하는 과정에서 발생할 수 있는 문제를 피할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.