Short Cake
8PM - Animal Crossing Wild World

사생활 보호 설정

https://gamjia.tistory.com

Mini Rooms

  • 내 미니룸
  • 미니미설정
  • 미니룸설정
  • 답글수 [0]

What Friends Say

한마디로 표현해봐~

1촌평 관리

동전게임 개발일지 - 2

GamJia 2024. 1. 9. 00:05

동전게임 개발일지 2편
하드코딩
 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class FlexibleGridLayout : LayoutGroup
{
    public int rows;
    public int columns;
    public Vector2 cellSize;
    public Vector2 spacing;
    public override void CalculateLayoutInputHorizontal()
    {
        base.CalculateLayoutInputHorizontal();

        float parentWidth=rectTransform.rect.width;
        float parentHeight=rectTransform.rect.height;

        float cellWidth=parentWidth/rows;

        cellSize.x=cellWidth;
        cellSize.y=cellWidth;

        float spacingWidth=parentWidth/45f;
        float spacingHeight=(parentHeight-(cellWidth*rows))/rows+((Mathf.Sqrt(parentWidth/parentHeight)-(parentWidth/parentHeight)));

        spacing.x=spacingWidth;
        spacing.y=spacingHeight;

        padding.left = (int)(parentHeight / 100f);
        padding.right = padding.left;
        padding.top = padding.left;
        padding.bottom = padding.left;

        int columnCount=0;
        int rowCount=0;

        for(int i=0;i<rectChildren.Count;i++)
        {
            rowCount=i/columns;
            columnCount=i%columns;

            var item=rectChildren[i];

            var xPos=(cellSize.x*columnCount)+(spacing.x*columnCount)+padding.left;
            var yPos=(cellSize.y*rowCount)+(spacing.y*rowCount)+padding.top;

            SetChildAlongAxis(item,0,xPos,cellSize.x);
            SetChildAlongAxis(item,1,yPos,cellSize.y);
        }


    }

    public override void CalculateLayoutInputVertical()
    {

    }

    public override void SetLayoutHorizontal()
    {
        
    }

    public override void SetLayoutVertical()
    {

    }
}

 
일단 코드를 보기 전에
이분 영상을 보면 이해가 좀 더 잘될거 같다
 
기존의 grid layout은 너무 맛이 없어서
이분 코드를 좀 참고했다
 
물론 내 식대로 고치느라 하드코딩이 됐지만..
https://www.youtube.com/watch?v=CGsEJToeXmA

 

 
화면 사이즈랑 상관 없이
비율에 맞춰서 하얀 점박이들을
일정 간격으로
맛있게 띄우고 싶어서 코드를 썼다
 
물론 영상과는 다르게 이건
행과 열을 내가 미리 정해뒀다..
쩝..
 
암튼 사진을 보면 알겠지만
비율에 따라서 사이즈와 간격,
사이즈에 따라서 padding이 정해졌다
 
사실 다른 내용은 크게 특별할건 없는데
spacingHeight가 좀.. 길긴하다
부모(불투명한 흰색)높이 - (하얀 네모 크기 * 행)에서
행+( (부모너비/부모높이))-(부모너비/부모높이)을 나눴다
 
행 저만큼을 더한 이유는 저래야
바닥까지 잘 붙더라고... 햐햐햐

'Game Develop' 카테고리의 다른 글

수박게임 개발일지 - 26  (0) 2024.01.11
동전게임 개발일지 - 3  (0) 2024.01.10
동전게임 개발일지 - 1  (2) 2024.01.08
수박게임 개발일지 - 25  (0) 2024.01.05
수박게임 개발일지 - 24  (2) 2024.01.04