일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 유니티기초
- enum
- 애니메이션
- canvasgroup
- LINQ
- 애드몹
- http
- 랜덤
- UGUI
- 모션
- unity3D
- unity
- React Native
- Hackerrank
- 프로그래머스
- 전면광고
- 광고테스트
- csvhelper
- 열거형
- scrollrect
- ui
- C#
- dotween
- climbingtheleaderboard
- 게임개발
- 유니티
- cs
- 코딩테스트
- Admob
- 컴퓨터구조
- Today
- Total
목록전체 글 (43)
Ruya Games
Header 필드 그룹에 이름을 지정해줄 수 있습니다. [Header ("Test")] public index newIndex; public GameObject box; Space 필드 사이에 여백을 줄 수 있습니다. [Space (10f)] public int newIndex2; public GameObject box2; Range 변수의 값을 슬라이더로 변경할 수 있도록 합니다. 정수, 실수형 모두 적용 가능 [Range (0f, 1f)] public float newFloat; [Range (0f, 1f)] public int newInt; SerializeField private로 선언된 필드를 Inspector상에 표시합니다. [SerializeField] private int secretInt..
이제 구현해야 할 내용은 아래와 같습니다. 플레이어의 블록이 이동했을때 이동한 지점 아래의 블록 색상과 플레이어 블록의 색상이 같다면, 아래의 블록을 제거하고 블레이어 블록은 떨어진다. 그리고 현재 블록들의 기본 상태는 매 프레임마다 일정 값만큼 위로 올라가고 있고, transform.Translate로 구현되어 있습니다. 그렇다면 동작은 플레이어 블록을 이동시킨다. 플레이어 블록의 이동이 끝났을때 아래 블록의 색상값을 확인한다. 색상값이 일치한다면 아래 블록을 제거한다. 일시적으로 transform.Translate의 동작을 멈추고, 플레이어 블록을 아래로 떨어지도록 한다. 플레이어 블록의 아랫면이 다른 블록과 닿으면 다시 다른 블록처럼 위로 상승하도록 한다. 이 순서로 동작해야 합니다. 1번은 구현했..
만드려는 게임의 기본 시스템은 이러합니다. 모든 블록들은 랜덤한 색상값을 갖고, 플레이어의 블록 아래에 플레이어와 같은 색상값을 가진 블록이 있다면 아래의 블록은 사라지고 플레이어의 블록은 밑으로 떨어집니다. 그렇다면 블록 오브젝트마다 색상값을 지정해줘야합니다. int로 지정해줘도 되고, string으로 지정해줘도 되지만 enum(열거형)으로 설정하려고 합니다. int에 비해 가독성도 좋고, string에 비해 오타가 발생할 일도 없으며, 인스펙터상에서 드롭다운으로 값을 지정해줄수 있습니다! enum을 설정하는 방법은 아래와 같습니다. public enum BlockColor { Blue, Red, Pink, Green, White } enum 타입은 첫번째 값부터 0에 대응되고, 순서에 따라 1씩 증가..
유니티에서 Scene을 변경할때 특정한 동작을 실행하고 싶을때, Load 또는 Unload시의 이벤트를 추가하는것으로 구현할 수 있습니다. 다음은 Scene이 변경될때 이전 Scene과 변경되는 Scene의 이름을 저장하는 클래스입니다. public static class LoadSceneManager { public static string previousSceneName; public static string currentSceneName; //앱 시작시 임의의 클래스에서 LoadSceneManager.Initialize()를 호출해야 각 이벤트들이 추가됩니다. public static void Initialize() { SceneManager.sceneLoaded += LoadSceneEvent; ..
이전 씬의 정보를 저장하는 방법은 크게 2가지가 있는데요. 1. Static Class에 저장 사실 이전 씬의 정보를 저장한다기보단 메모리에 저장되있기때문에 Scene을 변경해도 클래스가 사라지지 않습니다. 다만 MonoBehaviour를 상속받을 수 없고, 씬 안의 오브젝트를 제어할 수 없기 때문에 어느정도 제약이 있습니다. public static class StaticClass { public const float StaticValue = 1.0f; public string StaticString; } 2. DontDestroyOnLoad() 사용 DontDestroyOnLoad()는 본인 클래스와 본인 클래스가 컴포넌트로 추가된 게임 오브젝트를 씬 전환시에도 사라지지 않도록 합니다. public ..