잠시 딴 길로 샜다

하 귀여워 미챠
내가 하고도 어이없는(너무 귀여워서 어이없음)
펭지 렌즈 끼기~~~~
렌즈는 버튼을 이용해서 껐다 켰다 하고,
컬러바가 있어서 색을 사용자가 자유롭게 바꿨으면 한다
컬러바는 단조롭게... 간단하게!
우선에 기존에 작성한 GameManager의 switch문에 lens를 작성하고, OnClick()에 추가해주었다

렌즈를 껴버린 펭짘ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

ㅠㅠ 귀여워
이제 색상은 어떻게 바꾸지?
색만 바꿀 수 있도록 해야 하는데....
우선 색상 할당하는 건, 저번에 테트리스 게임 모작하면서 보았다
- 테트리스 게임
https://wikidocs.net/book/4841
유니티 헤엄치기 [중급자를 위한 유니티 C# 스크립팅 - 테트리스 만들기]
최대한 유니티 편집기의 기능을 사용하지않고 C# 스크립트를 사용해 테트리스 게임을 만들어 보자.
wikidocs.net
색 바꾸기!
는 생각이 안 나서 우선 유니티 공홈을 살펴보았다.
유니티에서의 색 표현은 얘를 이용한다고 한다
- Color32 (링크)
https://www.monkeykidgc.com/2021/01/unity-color32.html
Unity Color32
Unity’s Color32 takes a 32 bit RGBA value and converts it into a color. Giving you more precision when setting the colors in your game. Each RGBA value has a min value of 0 and a maximum value of 255.
www.monkeykidgc.com
그리고 이미지 컴포넌트 컬러를 바꿀 수 있는 블로그 글 발견
스크립트를 참고하면 좋을 것 같다.
바와 화살표를 준비해서
옷을 드래그해서 입힌 것처럼, 바에서 드래그를 하면 그에 따른 색이 변경되게!
하면 되겠다~~~~!!
근데 사실 이 부분은 프로젝트에 도움 되는 부분이 아니라서,
여기까지만 하고 조금 미루자.
프로젝트에 도움되는 부분은 이거다.
슬롯머신처럼 아이템이 슝슝!
그래서 화살표를 그리고 배치를 바꿨다

화살표를 버튼으로 만들어서, OnClick을 이용해 넘겨줄 생각이다
우선은 기본으로 모자가 가장 처음으로 있는 걸로 해주었다.
스크립트를 작성해보자! (미리 말하자면 실패)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Arrow : MonoBehaviour
{
public GameObject[] items;
private int itemsCount = 0;
public void Right()
{
items[itemsCount].SetActive(false);
itemsCount++;
if (itemsCount >= items.Length)
{
itemsCount = items.Length - 1;
}
else { items[itemsCount].SetActive(true); }
}
public void Left()
{
items[itemsCount].SetActive(false);
itemsCount--;
if (itemsCount < 0)
{
itemsCount = 0;
}
else { items[itemsCount].SetActive(true); }
}
}
아이템들이 들어갈 게임오브젝트 배열을 만들어주고, 왼쪽 화살표와 오른쪽 화살표 메서드를 만들어줬다.
그냥 매우 직관적...
프로젝트로 돌아와서 빈 게임오브젝트를 생성해서 Arrow라 이름을 바꾸고,
그 아래에 또 Hair Items라는 빈 오브젝트를 생성. Arrow 스크립트를 할당해서 아이템들을 넣어주었다.

플레이를 해보자.
엉망이구만!
현재 아이템이 Hat, Ribbon 이 두 개가 있다.
이 두 개에서만 화살표를 누르면 상관없는데, itemCount가 items.Length를 넘어가게 되거나 못 미치게 되면 텅 비게 되면서 갈피를 못 잡는다 ^-^
당연함..
버튼을 누르자마자 SetActive(false)를 한 상태에서 카운트가 커졌다 작아졌다 한다
그래서 그냥 간단하게 바꿔보았다
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Arrow : MonoBehaviour
{
public GameObject[] items;
private int count = 0;
public void Right()
{
if (count+1 >= items.Length) return;
items[count].SetActive(false);
count++;
items[count].SetActive(true);
}
public void Left()
{
if (count-1 < 0) return;
items[count].SetActive(false);
count--;
items[count].SetActive(true);
}
}
엥.. 아니 이렇게 간단한 걸 왜 헤맨 거임?????

이렇게 고민하면서 성장하는 거 아니겠는가 ^----^;;
우선 화살표는 해결했는데
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

네????
머.. 손 안댔으니깤ㅋㅋㅋㅋ 당연하다ㅋㅋㅋ 근데 너무 욱긴 ㅠ.ㅠ~`
계속 엉망이라 이런 개발일지...
이걸 개발이라고 할 수 있는 건가..?
이런 걸 적어도 되는 걸까 ^----^;;;
싶은 생각이 들지만 가보자고~!!!!!
이제 저걸 수정해보자!
버튼을 누르면 드래그 앤 드롭하는 아이템이 나올 수 있게!

그래서 새로 Drag 전용 오브젝트들을 만들었다!
버튼과 이 오브젝트를 겹쳐놓고, 버튼을 누르면 Drag 오브젝트가 나오도록 했는데.............
이 둘을 겹쳐 놓으니 못 잡는다..... Layer도 바꿨는데.. 새로 생성도 해보궁...
그래서 그냥
코디북처럼 아이템들은 나열해놓고
이 슬롯머신 같은 버튼은! 눈 색으로 하기로 했다!!!
이것저것 수정
아 사실 스프라이트도 좀 바꿨다
너무 째깐하게 그렸더니 화질이 너무 깨져서 어케어케 안 깨지게 크게 저장해보았다

귀여워....

사실 이렇다
원래 눈 통째로 만들었는데,
맨 위에서 고민하려던 색상 변경을 하려면 저 색만 있어야 한다!

음.. 사실 플젝에 하려는 것도 코디북 스타일이고
슬롯 형태로 가려면 일단은 버튼으로 눌러서 적용할 애들밖에 못 쓰니까...
아직까지는 지금 고민한 방법들로도 플젝에 도움이 될 것 같아서,
저 색 변경하는 걸 내일은 고민해보고자 한다
원래도 맘대로 적긴 하지만 오늘따라 서툰 이 느낌,,
그래서 계속 나아가고 있고 나아지고 있는 거니까!!!!!
가보자고~~~ 빠이팅 빠이팅!
'Project > [Unity] 옷입히기 게임' 카테고리의 다른 글
| 유니티 스크린샷 찍어보자! png파일로 저장! (0) | 2022.04.27 |
|---|---|
| 유니티 드래그 앤 드롭을 다른 방식으로 구현해보자 (0) | 2022.04.14 |
| 유니티 옷 입히기 입은 옷 다 삭제하는 버튼 만들기 (씬 리로드) (0) | 2022.04.07 |
| 유니티 드래그 앤 드롭을 통해 지정된 위치에 아이템을 착용하도록 하자 (0) | 2022.04.06 |
| 유니티 드래그 앤 드롭 방식 구현해보자 (0) | 2022.04.05 |
댓글