기능 개선 및 스테이지 개발 씬

이준영·2025년 10월 25일

오늘의 목표는 스테이지 개발 씬 제작

기획서

기획서

기능 개선

TargetColorText

TargetColorText
  • 타겟 컬러 텍스트가 변경되는 기능을 넣지 않아서 추가로 제작 하였다.

컴포넌트 설정

Hierarchy
컴포넌트 설정
  • TextMeshPro 사용, TargetColorText 스크립트를 넣어주었다

코드

TargetColorText
  • 텍스트와 색을 변경하는 SetTargetColor 메서드를 추가하였다.
ColorPuzzle
  • 기능의 사용은 targetColor를 가지고 있는 ColorPuzzle에서 사용하였다.

Test

Test
  • 잘 작동된다.

Palette 개선

  • Palette 코드를 재활용하려고 생각하던 중, 문제점이 하나 발견.
  • Palette에서 사용하는 기능 때문에 보드에 아무 색이 없으면 Palette 색이 전부 비활성화 되는 문제.
ex
  • 하지만 스테이지 개발에선 이런 하얀 보드에서 시작해야 함.

문제점

문제점
  • Palette에서 해당 기능을 직접 사용하고 있음.

개선안

  • 해당 기능의 메서드를 public 접근자의 메서드로 고치고 ColorPuzzle 클래스에서 메서드를 사용.
Palette
ColorPuzzle
  • 이렇게 하여 Palette의 기능 추가는 메서드로만 진행.
  • 앞으로 모든 기능의 사용은 각 씬의 매니저 담당 클래스만 사용하여 정리.

스테이지 개발 씬

UI
  • 기존에 사용하던 게임 플레이 씬 복사.
  • UI는 조금 씩 변경.
  • Set Limited chances와 SetTargetColor는 버튼 역할을 할 예정.

보드 색칠 기능

보드 색칠 기능
  • 팔렛트에서 색을 선택후 보드에 좌클릭시 색을 칠함.
  • 드래그 방식도 가능

코드

Cell
  • 기존에 사용하던 IPointerClickHandler -> IPointerDownHandler로 변경.
    - 이유는 IPointerClickHandler는 좌클릭을 땔 때 작동.
    - 원하는 방식은 좌클릭이 눌렸을 때 바로 작동.

  • IPointerEnterHandler는 해당 오브젝트 위에 마우스가 들어오면 동작하는 메서드를 추가.
    - 이때 작동하는 OnCellHovered 델리게이트를 추가함.

  • IPointer 인터페이스

DevStage
  • 팔렛트 기능은 ColorPuzzle과 같은 기능을 추가.
DevStage
  • 마우스가 클릭 중인 것을 판단하는 bool 변수 _isHovered 변수 사용.
  • 클릭 중이면 ChangeColor(int,int,CellColor)가 동작.

Test

Test
  • 잘 작동한다.
profile
게임 개발자가 되기 위해서 공부하는 중입니다.

0개의 댓글