게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[질문]유니티/C# 게임오브젝트의 클래스를 가져오는 방법? 약 스압?
게시물ID : programmer_18188짧은주소 복사하기
작성자 : 동구리동동
추천 : 0
조회수 : 864회
댓글수 : 11개
등록시간 : 2016/08/17 23:29:41
옵션
  • 본인삭제금지
이제막 유니티 공부하면서 이것저것 만들어보고 있는 학생입니당. 

코딩에관한 지식은 약 2주동안 동영상과 유니티 도큐먼트에서 본것외에는 전무하다 싶을 정도에요 ㅠㅠ

그래도 어찌어찌 코딩과 유니티에 조금씩 익숙해져가고 있습니다.


체력바를 만들고있는데요.

게임오브젝트의 부모 자식 관계와 적용된 스크립트의 클래스는 다음과 같습니다.

Player      (class player) 
 -HP Bar  (class hpbar)

지금상황은 class player로부터 체력정보변수( public float hp )를 얻어 class hpbar로 호출해서 사용하고 있는 상황입니다. 

간략화하면 이런식으로

class hpbar
{
GameObject player = GameObject.FindTypeOf<Player>();     -(1)
player.hp
}

체력정보는 player클래스에 있으며 HPbar는 그것을 이미지화 시킨다는 느낌이죠.

당장에는 문제없이 잘 작동하고있습니다만. 


문제는 유닛을 player 뿐만아니라 적, 자원 등등 여러 게임오브젝트를 만들것이고 그때마다 다른 클래스를 사용할것이라는 건데요.

지금 대로라면 그 유닛들마다 따로 따로 일일이 체력바를 생성해서 부모스크립트에 맞추어 따로 스크립트를 작성해야 된다는거죠..

 (  (1)에서 <player> 이부분을 계속 수정해가며 스크립트를 작성해야된다는말!  )

이런 불상사를 막기위해서는 자식 오브젝트인 HPBar에서 부모오브젝트의 변수를 바로 호출하는 방법,

혹은 부모 오브젝트의 클래스를 받아 -(1)의 식에 넣도록 코딩하는방법이 필요했습니다.

여기서 제가 턱하니 막혀버렸습니다. 



요약하자면 제가 원하는건 체력바오브젝트를 각기 다른 유닛의 오브젝트의 자식으로 집어넣으면 

자동으로 부모 오브젝트의 체력정보를 호출해 이미지화하는 겁니다.

자식 오브젝트 클래스에서 각기달라지는 부모 오브젝트들의 여러 클래스로부터 동일한 이름으로 

작성이 될 변수 (float hp)를 호출할수 있는 방법을 찾고싶어요.



구글링을 해가며 시도했던 방법이 꽤나 많았습니다만. 아직 아는게 별로 없어서 그런지 모조리 실패하고 자신감을 잃었네요.

많은게 아니더라도 스쳐지나가는 함수 몇개, 단서 몇개만 툭 던져주시면 열심히 찾아서 해결해보도록 하겠습니다. 도움을 주세욤!

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호