일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BGM
- Generic
- c#
- 람다식
- FSM
- ObjectPool
- inputsystem
- delegate
- 프로그래머스
- soundmanager
- unity
- 유한상태머신
- 직렬화
- 코루틴
- 배열
- 장애물달리기
- UI
- 메서드
- skybox
- 유니티
- 인터페이스
- 스택
- 자료구조
- 비선형자료구조
- 스파르타내일배움캠프
- LINQ
- 효과음
- invokec#events
- script
- InputManager
- Today
- Total
목록분류 전체보기 (65)
Unity 개발일지
세자리 수 2개를 입력받아 곱셈하는 과정을 표현하는 프로그램을 작성하면 된다.(1)과 (2)는 Console.ReadLine(); 으로 입력받은 후 (2)를 쪼개서 (1)과 곱해주면 된다. int a = int.Parse(Console.ReadLine());첫번째 입력은 나눌 일이 없으므로 int로 정의한 후 int.Parse로 미리 변환해 둔다.int.Parse메소드는 앞서 1000번 문제에서 다뤄본 적이 있으므로 넘어가겠다. [C#] 백준 문제 1000번 A+B문제 자체는 A와 B를 입력받고 A+B를 출력하는 것으로 간단하다. 하지만 A와 B를 한번에 입력받아야 한다는 조건이 있다. string[] s = Console.ReadLine().Split(); C#에서 입력을 받을 수 있는 메서드는 C..
문제 자체는 A와 B를 입력받고 A+B를 출력하는 것으로 간단하다.하지만 A와 B를 한번에 입력받아야 한다는 조건이 있다. string[] s = Console.ReadLine().Split();C#에서 입력을 받을 수 있는 메서드는 Console.ReadLine(); 이 있다.하지만 Console.ReadLine(); 의 출력값은 문자열(또는 null)이다.그러므로 우리가 숫자를 입력해도 문자열로 반환되며 이를 숫자로 변형시켜줘야한다. 2개의 숫자를 Console.ReadLine();에 입력했다면 이제 분리해야된다.C#에서 문자열을 분리하는 방법으로는 String.Split 메서드가 있다.Split 메서드는 특정한 구분자 값으로 문자열 값으로 구분해준다.예를들면 Split(' '); 을 해주면 띄어쓰기..
1. UI Text 생성TimeTxt: 시간이 임박하면 타이머가 흔들리는 UI TextPlusTxt: 정답을 맞추면 +3.0초를 더해주는 UI Text / MinusTxt도 있으며 Prefab화 해주었다. 2. Script에서 코드작성 [1] 시계가 흔들리는 코드게임을 재시작하면 false상태가 되므로 isMove false를 Update보다는 Start나 Awake에 구현해준다.color를 바꿔주는 코드는 앞에서 공부했으므로 넘어가자 참고로 Color.red로 해도 동일하다. [2] 시간을 더하고 빼주는 에니메이션 기존 Hierachy창에 있는 오브젝트가 아닌 프리펩이 생성될때는 GameObject 변수를 새로 정의해준다. Instantiate( GameObject original, Vector3 po..
1. 게임종료 시 EndTxt를 활성화 시키기타임이 0보다 작아지면 endTxt의 체크박스를 체크하고 timeScale을 0으로 만든다 2. 시간이 10초보다 작아질 때 타이머가 붉게 변하고 타이머가 흔들리게 만들기Animator에 isMove를 설정했고 이를 스크립트에서 이용하기 위해 public Animator anim() 정의isMove를 10초 이하일때만 SetBool로 활성화 시켜준다.Update문의 과부하를 고려 Start문에 비활성화 코드를 작성해준다. 색깔 바꾸기변수이름.color = new Color( @ / 255f, @ / 255f, @ / 255f, @ / 255f ); 변주 timeTxt를 UI인 TXET로 선언해서 .color로 접근가능하다 * Button, Text, Trans..
1. Resources 폴더를 만든 후 Image 파일들을 이동 2. Script 에서 idx 정의, 초기화Resources.Load($"파일이름{idx}"); 위의 Script는 Card 스크립트에 작성한 함수이고, 아래는 Board Script에 적용한 모습
1. Hierarchy에 AudioManager 오브젝트 만들기 - Audio Source 컴포넌트, Audio Manager 스크립트 추가 2. AudioManager 스크립트 작성변수작성 audioSource = GetComponent();AudioSource로부터 Component를 가져올 수 있게 해주는 명령어써주지 않으면 음악이 재생되지 않는다. audioSource.clip = this.clip;재생 시 Unity Engine에서 넣어준 음악을 적용해준다. audioSource.Play();말그대로 음악을 재생해준다. 3. Scene 이동 시에도 듣던 음악을 이어서 재생시켜주기AudioManager를 싱글톤 시켜준다.if ( instance == null ) { instance = this..
1. 시간의 흐름을 조정Time.timeScale 프로퍼티 사용Time.timeScale 는 시간이 경과하는 크기를 나타내며 값을 수정하여 시간이 흐르는 속도(배율)을 조절할 수 있다. 2. 코드 작성시간이 30초가 지나거나 cardCount 가 0 이되면 timeScale이 0 이 되고 endTxt를 출력한다.재시작을 고려하여 Update 함수에 timeScale을 1로 설정하였다.Retry 버튼을 만들기 위하여 Script를 작성하였다. 3. Unity 엔진 내 적용EndTxt 텍스트에 Button 컴포넌트와 RetryButton 스크립으를 적용하고 On Click 시 RetryButton의 Retry 함수를 실행하도록 적용하였다. 4. 추가사항 * Time.timeScale = 0; 일때 Updat..
1. UI - Legacy - Text 오브젝트 생성 후 이름을 TimeTxt로 변경 2. Inpector 창에 설정값 입력 (예시) 3. 빈 오브젝트 GameManager 생성 후 스크립트 생성Time.deltaTime 프로퍼티 사용deltaTime에서 delta는 값의 차이를 의미한다.지난 프레임이 완료되는 데까지 걸린 시간의 차이를 의미하며 단위는 초.보통 30프레임 기준의 게임에서 한 프레임당 0.033정도가 60프레임 기준의 한 프레임당 0.016 정도면 적당하다.사용 이유?PC의 성능과는 무관하게 동등한 조건으로 설정하기 위해, 다른 플랫폼과 장치여도 각 프레임에 맞게 업테이트를 해줌으로 일관된 환경에서 게임을 플레이 할 수있다. 4. 코드작성 5. Unity 엔진 내 적용