Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

동구의_C# & Unity_개발일지

2024.01.29 내일배움캠프 26일차 TIL_Unity (입문, 알고리즘) 본문

Unity

2024.01.29 내일배움캠프 26일차 TIL_Unity (입문, 알고리즘)

mongle_0l 2024. 1. 29. 09:02

내가 팀 과제로 맡은 여러 젤리가 떨어지는 것을 구현하고 1차 병합을 완료하였다

다행히 합치는 과정에서 오류가 없어 다음 추가 구현으로 빠르게 넘어 갈수 있었다.

 

추가 구현

밑에서 톱늬바퀴가 올라와 젤리가 떨어져 톱늬바퀴에 젤리가 닿으면 없어지는 것을 구현할 것이다! 


알고리즘 코드카타 13일차

x만큼 간격이 있는 n개의 숫자

문제 설명
함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.
public class Solution {
    public long[] solution(int x, int n) {
        long[] answer = new long[n];
        for(int i = 0; i < n; i++)
        {
            if(i != 0)
                answer[i] += answer[i - 1] + x;
            else
                answer[i] = x;
        }
        return answer;
    }
}


팀 프로젝트

12개의 젤리가 랜덤으로 떨어지는 오브젝트 구현 코드
public class RandomSpawn : MonoBehaviour
{
    [SerializeField]
    private List<GameObject> jellyPrefabs;

    void Start()
    {
        StartCoroutine(CreateJellyRoutine());
    }

    void Update()
    {

    }

    IEnumerator CreateJellyRoutine()
    {
        while (true)
        {
            CreateRandomJelly();
            yield return new WaitForSeconds(1);
        }
    }

    private void CreateRandomJelly()
    {
        if (jellyPrefabs.Count == 0)
        {
            Debug.LogError("jellyPrefabs");
            return;
        }

        GameObject selectedJellyPrefab = jellyPrefabs[Random.Range(0, jellyPrefabs.Count)];

        Vector3 pos = Camera.main.ViewportToWorldPoint(new Vector3(Random.Range(0.0f, 1.0f), 1.1f, 0));
        pos.z = 0.0f;

        Instantiate(selectedJellyPrefab, pos, Quaternion.identity);
    }
}
12개의 다른 오브젝트(젤리) 들이 랜덤으로 떨어진다.

 

고민이 많았던 시간

젤리 하나을 넣어 하나을 램던으로 떨어트리는 것 까진 쉬웠는데 여러 오브젝트들을 어떻게 떨어트리지 라는 고민을 오랫동안 많이 한것 같다..

고민한 결과!

젤리 프리팹을 만들었는데 GameObject selectedJellyPrefab = jellyPrefabs[Random.Range(0, jellyPrefabs.Count)];

을 넣어줘 jellyPrefabs라는 리스트에서 무작위로 선택된 젤리 프리팹(GameObject의 프리팹)을 가져온다!

 

젤리들이 무작위로 떨어진다!


추가 구현

일단 톱늬바퀴 이미지와 에니메이션을 넣었다!

시작하면 바퀴가 회전함!!!