작업중

턴제제작 2019. 12. 16. 13:50

 

 

 매번 새로 만들지 않고 미리 25를 만들어 놨다가 껐다 켰다와 이미지나 이름 같은 걸 불러와서 넣는 걸로 해야겠다. 아이템 객체 안에 어떤 이미지를 넣어야 할지 이름 멀지 가격을 멀지 스탯은 멀 넣을지 정해놓고 불러와서 넣어야 할 듯싶다. 

 일단 물건을 사고파는 것부터 만들어야겠다. 장착은 그다음 단계다. 

 일단 Action을 이용해서 간단하게 만들어 준다. 

 예전엔 using 해서 리스트를 잘 썼던 거 같은데 이 툴에서 제시하는 건 이상하다. 머 딱히 에러 뜨는 건 없으니 그냥 넘어간다. 

GetComponent <TextMeshPro>()

gameObject.GetComponent <TextMeshProUGUI>());

 너무 길어서 수정했다.

 요시!

 이제 물건을 구입을 할 수 있도록 해야 한다. 그렇다면 가지고 있는 아이템 리스트를 만들어서 물건을 살 때마다 거기에 넣도록 하자. 그리고 물건을 사면 돈이 나가게 한다. 돈이 부족하면 더 이상 살 수 없게 하는 것도 만든다. 물건을 샀으면 UI창에서 해당 아이템을 안 보이게 해야 한다. 

 아이템 이동을 구현하려면 이쪽에서 삭제를 하고 저쪽에서 똑같은걸 생성해 주면 될 듯싶다. 독특한 이동 시스템이다. 

 몇가지를 눌려보다가 문득 아이템 버튼 각각 자체 컨트롤러를 따로 만들어야겠다는 생각이 들었다. 클래스가 나누어져 있고 컴포넌트 패턴이니 에셋의 스크립트와 분리해서 제어를 할 수 있을 듯싶다. 코드를 전반적으로 수정해야겠다. 

 프리팹으로 만들어야 처음에 물이 되는 불상사가 없는 듯싶다. 갠 적으로 이 눌에러를 가장 많이 보기 때문이다. 

 어디까지 했더라. 아 그래 아이템 사면 돈이 나가는거 만들고 셀 목록에 뜨도록 해야 한다. 반값으로 팔 수 있도록 하면 될 듯싶다. 

 일단 사는건 만들었다. 문제는 가격을 입력하는 거랑 표시된 가격을 실수로 다르게 입력할 수 있다는 거다. 이걸 하나를 입력하면 나가는 가격이랑 표시된 가격이 되도록 일원화를 할 필요가 있다. 일단 표기가를 빼면 좋겠지만 이게 스트링인데 인트로 바꿔주는 게 있나 살펴보고 없으면 그냥 변수를 만들고 어웨이크에서 텍스쳐에 적용을 하도록 해야겠다.

 보니까 위에 살짝 이런 테두리 달아주면 별가 아닌데 개씩 좆 간지가 나는 듯싶다. 이걸 잉크 스케이프로 만들면 되려나 싶다. 

 요런 식으로 물건을 사면 그 창이 비워지도록 한다. 이제 가격이랑 자동으로 연결되게 하는 것을 만든다. 

 요렇게 하면 되려나 싶다. 

 안된다. 왜 Null이 뜨는지 모르겠다. 

 해결했다. 유니티 껐다가 켜니까 되더라. 내일은 구매한 물건은 상점에서 반값으로 되팔 수 있도록 해야겠다. 

 이게 자기 자식인 경우에는 알아서 채워 넣지만 상위나 동위에서 검색을 해야 하는 경우에는 직접 드래그 앤 드롭을 하지 않으면 눈이 뜨는 듯싶다. 

 오랜만에 했다가 버그가 있어서 수정하고 왔다. 

 버그가 하나 있은데 두 명을 타격하는 경우에 액션이 끝나지도 았았는데 쓰러진다. 

 이거 순서가 바뀌어서 그런 거더라. 

 아 이거 UI도 통일을 시켜야 할 필요가 있다. 일단 뒤로 미루자. 할 거 없어지면 해야겠다. 

 이게 0.9로 해놓아서 그다음 게 조금 빠른 타이밍에 치는 버그가 발생한 거였다. 문제는 1로 하면 버그가 터졌는데. 값이 0.99... 이런 식으로 가고 절대 1이 되지 않기 때문이다. 그래서 1로 하면 멈춰버리는 버그가 발생한다. 

 0.16으로 시작하는 경우에는 버그가 안 터지지만 2.6부터 시작하는 경우에는 파티클이 먼저 나와버리는 버그가 있다. 

 각종 극한의 상황에서 버그를 테스트 중이다. 

 원인을 알아냈다. 상대를 쓰려트렸을때와 버텼을 때 진행 시간이 다르기 때문이었다. 

 해결책이 드 모르간 법칙을 써서 살짝 복잡할 수가 있긴 한데 어찌 됐든 멀쩡히 동작한다. 

 첫 게임이니 조금은 단순하게 만들어야겠다. 좀 더 복잡한 게임은 차기작 때 팀원들이 어느 정도 갖춰지면 그때 만들어야 하지 않을까 싶다. 

 검색해 보니까 부는 더 이상 지원을 안 한다길래 C#에서 쓰는 걸로 바꾸는 중이다. 

FormatException: Input string was not in the correct format

 이런 애러가 뜨는데 string을 int로 변환을 하지 못하면 뜨는 애러라고 한다. 

 이런 식으로 바꿔봤다. 

 오늘도 새로 진도 나간 것보다는 기존에 있는 거 버그 수정하는데 많은 시간을 쓴 듯싶다. 

int 뒤에? 표만 붙이면 null이 가능하다. 진짜 신박한 기능인 듯싶다. 요?를 사용하는 기능 중에 신박한 기능이 많다. 

 먼가 복잡해서 일단  Null 가능은 달지 않았다. 

 버그인지 모르겠는데 가끔씩 리스트가 인스펙터 창에 안 나올 때가 있다. 

 사면 추가가 된다. 

 텍스트를 인트로 만드는 건 오류가 많아서 그냥 별도의 인트를 만들었다. 

 이제 구매한 아이템을 장착하게 하는 걸 만들어야 하는데 캐릭터에 따라서 다르게 장착되게 해야 하니 좀 복잡할 듯싶다. 새로 포스트를 파야 겠다. 

 인벤토리를 만들어야 하는데 스킬을 나타내는 창하고 아이템 보관함 하고 통일을 해야 하는지 아닌지가 했갈린다. 아이템을 장착하는 순간 별도 클릭 없이 아이템 장착 시 변화를 보여 줘야 하나 아니냐 때문이다. 

 패널이 제대로 안 떠서 보니까 페널 컨트롤로도 따로 만들어 줘야 되더라. 이게 남이 만든 에셋을 쓰다 보니 문제를 파악을 제대로 못하는 경우가 왕왕 있다. 

 이제 여러 캐릭터를 만들고 넘어가는 걸 만들어야겠다. 

 아 그전에 물건을 샀으면 장착을 할 수 있도록 하는 걸 만들어야 한다. 캐릭터 여럿의 경우에는 메인 게임과 연동을 시킨 다음에 난 들어야 할 듯싶다. 일단 UI는 좀 지겨워진 거 같으니까 일단 물건을 사고 장착하는 것까지만 만들고 다른 일거리를 만들어야 될 듯싶다. 

 대충 이런 식으로 들어간다고 치자. 3의 배수로 한 번에 가지고 갈 수 있는 아이템 슬롯을 만들어야 할 듯싶다. 캐릭터가 6이 기본이고 여분으로 준비한다면 4개의 아이템이 필요할 테니 최대 인벤토리는 24개면 충분할 듯싶다. 본진에서는 

 아이템을 구매하면 스톡에 뜨고 그걸 장비할 수 있는 거까지만 만들자. 이거 만든다고 한 달을 꼬박 써버린 듯싶다. 일단 그 후에는 지금 만들어 놓은 씬들을 연결하는 과정이 조금 필요할 듯싶다. 그러려면 미션을 받는 본진이 필요할 듯싶긴 하다. 

 마스크가 적절하게 적용이 되지 않아서 삽질을 했다. 

 사면 들어오는 건 구현이 되는데 팔면 나가는 건 구현이 안됐다. 머든 순조롭게 되는 건 없다. 

 일단 죄다 껐다가 다시 소유한 아이템을 검색해서 다시 켜면 된다. 앞으로도 이런 식으로 초기화하고 다시 키는 식으로 하면 될 듯싶다. 이제 각 아이템의 세부 정보를 입력하면 된다. 

 이건 또 무슨 버그인지 모르겠다. 검색해도 안 나오고 말이다. 추측하기론 마스크로 스프라이트 사이즈를 실제로 줄인 게 아니라 보이기만 줄인 것처럼 보이게 해서 실재로는 범위를 초과해 버려서 근 듯싶다. 일단 플레이에 지장을 주는 게 아니라서 그냥 넘겨야겠다. 다음에는 에셋을 쓰지 말고 직접 만들어야 할 듯싶다. 세부 정보를 입력하는 것만 만들고 오늘 일은 마치고 오랜만에 밖에 좀 나갔다 와야겠다. 미뤄둔 일 좀 처리하고 오자. 

 한겨울에 밖에 나가려고 하니까 귀찮다. 그냥 집에서 일을 하는 게 나을 듯싶다. 아이템을 장비하는 것까지 만들자. 

 조부모인 콘텐츠가 아니라 바로 부모인 스톡에다가 마스크를 설치하니까 문제가 해결된다. 가끔은 원리를 모르는데 문제를 해결하는 경우가 있다. 지금도 마찬가지다. 

 나가기 귀찮다. 미뤄두고 일이나 해야겠다. 급한 거 아니니 말이다. 

 모서리를 살짝 깎아서 동그라미로 가는 게 느낌이 좋긴 한데 해상도 때문에 부드럽게 표현이 안되고 픽셀처럼 보인다. 이게 벡터 기반이 아니라 그런 듯싶다. 그렇다면 크기에 맞춰서 고해상도 PNG 따로 만들어 줘야 하는데 크기가 제각각이다 보니 이건 내가 작업이 불편해서 네모로 그냥 바꿨다. 나중에 벡터를 지원하는 엔진이 나오면 이런 작업이 가능하려나 모르겠다. 포스트 프로세싱을 쓰면 되긴 하는데 괜히 예산을 잡아먹는 듯싶어서 말이다. 그냥 네모로 간다. 

 스크롤 바가 맨 가게가 아니라 가운데에 있으니까 먼가 배치가 안 맞는 듯싶다. 

 이게 훨씬 나은 듯싶다. 장비하는 건 내일 만들어야겠다. 

'턴제제작' 카테고리의 다른 글

다음 할일  (0) 2020.01.11
UI 마무리  (0) 2019.12.30
상점 시스템  (4) 2019.12.07
UI 작업  (2) 2019.12.01
UI는 에셋 사용  (2) 2019.11.20

WRITTEN BY
아이고이아

,