Unity_2기 내일배움캠프 TIL
Unity_2기 1주차 (231102)
잼잼재미
2023. 11. 2. 19:48
오늘은 팀 프로젝트 최적화를 진행하고 내일의 발표를 위해 마무리 작업을 했다.
어제 하드코딩 했던 것을 조원들의 도움을 받아서 MemberCheck 스크립트의 코드를 수정했다.
● 기존 코드
public class MemberCheck : MonoBehaviour
{
public GameObject[] namePanel = new GameObject[6];
public void CharactorActive(string name)
{
switch (name)
{
case "charactor0":
namePanel[0].gameObject.GetComponent<SpriteRenderer>().color = new Color(0, 0, 0, 200 / 255f);
break;
case "charactor1":
namePanel[3].gameObject.GetComponent<SpriteRenderer>().color = new Color(0, 0, 0, 200 / 255f);
break;
case "charactor2":
namePanel[1].gameObject.GetComponent<SpriteRenderer>().color = new Color(0, 0, 0, 200 / 255f);
break;
case "charactor3":
namePanel[2].gameObject.GetComponent<SpriteRenderer>().color = new Color(0, 0, 0, 200 / 255f);
break;
case "charactor4":
namePanel[4].gameObject.GetComponent<SpriteRenderer>().color = new Color(0, 0, 0, 200 / 255f);
break;
case "charactor5":
namePanel[5].gameObject.GetComponent<SpriteRenderer>().color = new Color(0, 0, 0, 200 / 255f);
break;
default:
break;
}
}
}
● 수정 코드
public class MemberCheck : MonoBehaviour
{
[Serializable]
public class NameTag
{
public int memberNumber;
public Image checkerBox;
public Image checker;
}
[SerializeField] private Profile profile;
public List<NameTag> memberList = new List<NameTag>();
private void Start()
{
// 체크표시 초기화
foreach (NameTag member in memberList)
{
member.checker.gameObject.SetActive(false);
}
}
public void MatchMember(string memberName)
{
int nameNumber = int.Parse(memberName);
Checker(nameNumber);
}
private void Checker(int nameNumber)
{
foreach (NameTag member in memberList)
{
if (member.memberNumber == nameNumber)
{
member.checkerBox.GetComponent<Image>().color = new Color(0.0392f, 1f, 0f, 1f);
member.checker.gameObject.SetActive(true);
profile.ProfileOpen(member.memberNumber);
}
}
}
}
● 변경 내용
1. NameTag class 객체 생성
2. CharactorActive 함수를 MatchMember, Checker 함수 두개로 나눔
3. 기존 오브젝트 색깔 변경 -> 체크오브젝트 활성화/비활성화
4. GameObject 배열 -> List 사용
5. foreach 사용
조원들의 도움을 받아서 코드 내용을 대폭 수정했다.
오늘은 새롭게 알게된 내용이 많아서 공부를하고 정리하였다.
앞으로 새로 배운 내용은 나중에 찾아볼 수 있도록 티스토리에 정리를 할 예정이다.
그리고 조원들과 함께 프로젝트를 최종 완성했다.
내일 있는 발표를 위해 시연영상 제작을 맡아서 제작하였다.
https://www.youtube.com/watch?v=rzwtGhq6JuQ
이러한 시연영상을 찍는 것도 처음이라 많이 어색하고 힘들었다.
하지만 제작이 끝나니 조원들과 함께 만든 작업물을 한번에 확인할 수 있어서 뿌듯하고 좋았다.
내일 있을 발표를 잘 마무리하고 다음 프로젝트에서는 이번에 구현하지 못한 기능들을 추가해서 더 퀄리티 높은 게임을 만들고 싶다!