string keyword="START TeamProject03";
1. UI의 난
>>기본적으로 현 상태를 보여줄 UI와 타워를 건설하려 할때 보여줄 UI
사실 저번주 금요일이 팀프로젝트 시작인 날이었는데 그날 만들어 놓은 것..TIL을 못썼었다.
3.일시정지
public void PauseGame()//일시정지
{
Time.timeScale = 0;
pauseBtn.SetActive(false);
resumeBtn.SetActive(true);
}
public void ResumeGame()//플레이
{
Time.timeScale = 1;
pauseBtn.SetActive(true);
resumeBtn.SetActive(false);
TopPanel에 버튼기능은 일시정지/플레이 버튼밖에 없었고, 일단 일시정지 버튼을 누르면 Time이 관여하는 것들을 멈추게 설정해 놓았다.
2. ShopPanel띄우기
가운데 분홍색 sprite가 타워를 건설할 수 있는 곳으로 임시로 만들어 놓고 클릭하면 shopPanel이 뜨도록 하는 것.
상당히 시간을 많이 잡아먹었다...ㅜㅠ
일단 저 분홍이한테 collider를 달아준 다음, 스크립트를 하나 만들었다.
private void OnMouseDown()
{
UIMgr.SetTarget(this.transform);
}
>> OnMouseDown은 마우스 왼쪽버튼으로 클릭하면 함수안의 내용을 실행시켜 준다.
<UIManager>
[SerializeField] Transform towerPosition;
Camera mainCamera;
public UI_ShopPanel shopPanel;
public UI_TopPanel topPanel;
void Awake()
{
shopPanel.Init();
}
public void SetTarget(Transform towerPosition)
{
this.towerPosition = towerPosition;
//transform.position = mainCamera.WorldToScreenPoint(target.position);
shopPanel.OpenShop(towerPosition);
}
<UI_ShopPanel>
Camera mainCamera;
public void Init()
{
mainCamera = Camera.main;
CloseShop();
}
public void OpenShop(Transform towerPosition)
{
gameObject.SetActive(true);
transform.position = mainCamera.WorldToScreenPoint(towerPosition.position);
}
public void CloseShop()
{
gameObject.SetActive(false);
}
메인카메라를 가져와서 towerPosition의 좌표를 월드포지션으로 바꿔준 다음 클릭하면 shopPanel이 그자리에 뜨게 된다.
X버튼을 누르면 패널은 닫히게 된다.
마무리
ui연동하는 작업이 생각처럼 안된다ㅜㅠ 어려워서 시간이 많이 걸린듯 하다.
내일 돈과 구매 및 업그레이드 버튼을 연동해야겠다!
.
.
.
with 용이
'개발자_뉴비일지' 카테고리의 다른 글
주말TIL _03 (1) | 2024.02.26 |
---|---|
내일배움캠프 Unity 41일차 TIL - Stack (0) | 2024.02.21 |
내일배움캠프 Unity 33일차 TIL - 배움의 즐거움 (1) | 2024.02.07 |
내일배움캠프 Unity 32일차 TIL - 첫 필수구현 (1) | 2024.02.06 |
내일배움캠프 Unity 31일차 TIL - 버튼 (2) | 2024.02.05 |