일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- invokec#events
- 프로그래머스
- BGM
- 유니티
- LINQ
- 람다식
- 비선형자료구조
- script
- 배열
- 인터페이스
- 장애물달리기
- 효과음
- 유한상태머신
- 스파르타내일배움캠프
- UI
- soundmanager
- 메서드
- 자료구조
- skybox
- unity
- ObjectPool
- Generic
- InputManager
- inputsystem
- c#
- delegate
- 스택
- 직렬화
- FSM
- 코루틴
- Today
- Total
목록c# (33)
Unity 개발일지
TextRpg를 만드는 중 플레이어의 직업을 영문명이 아닌 한글로 정의할 수 없을까에 대해 고민하던 중"키를 입력하면 값을 가져올 수 있는 방법이 있으면 어떨까?" 라는 조언을 듣고 찾다가Dictionary를 사용해보자는 결론에 도달했다.DictionaryDictionary는 Collection(자료를 모아 놓은 데이터 구조)의 일종으로 키와 값으로 구성된 데이터를 저장한다.Dictionary는 중복된 키를 가질 수 없으며, 키와 값의 쌍을 이루어 데이터를 저장한다.Divtionary를 사용하기 위해서는 using System.Colloection.Generic;이 상단에 선언되어있어야한다. List와의 차이점List는 인덱스 번호를 사용하여 요소의 값을 얻는다. 그에 반해 Dictionary는 Key값..
일반적으로 "배열"이라 함은 정적배열을 의미하고 "동적 배열"이라고 명확하게 이야기해야 "동적 배열"을 뜻한다.오늘은 이 둘의 차이와 동적배열인 ArrayList와 List를 알아보자. 정적배열(Array)연관된 데이터를 메모리상에 연속적이며 순차적으로, 미리 할당된 크기만큼 저장하는 자료구조이다. 인덱스만 알고 있으면 조회를 빠르게 할 수 있어 조회를 자주해야하는 작업에서 Array 자료구조를 많이 사용한다.Array를 선언할 때 크기를 미리 정해야 되므로 메모리낭비나 추가적인 overhead가 발생할 수 있다. 배열 - C#C#의 배열 데이터 구조에 형식이 동일한 변수를 여러 개 저장합니다. 형식을 지정해 배열을 선언하거나 개체를 지정해 모든 형식을 저장합니다.learn.microsoft.com 동..
Visual Studio를 켜보면 나오는 창을 모두 아시나요?단순히 Hello, World!를 출력해주는 요 코드!오늘은 여기서 static이 무엇을 의미하는지 알아봅시다. 우선 Static이란?'정적인', '고정적인' 이라는 사전적 의미를 가진다. 움직이지 않는다는 뜻이며C#에서는 메서드나 필드가 클래스의 인스턴스가 아닌 클래스 자체에 소속되도록 지정하는 한정자이다. 정적(static)속성 및 필드는 클래스명.필드명 과 같이 사용한다. Non static 필드들은 클래스 인스턴스를 생성할 때마다 메모리에 매번 새로 생성하게 되는 반면, static 필드는 프로그램 실행 후 해당 클래스가 처음으로 사용될 때 한번 초기화되어 계속 동일한 메모리를 사용하며 프로그램 종료 시 해제된다. 정적 필드를 사용하..
오늘은 스파르타 2주차 TextRpg를 구현 중 알게된 코드에 대해 리뷰하고자 한다.위와 같은 상황에서 키를 입력받을 때 잘못된 입력을 받았을 때"잘못된 입력입니다." 에서 끝나지 않고 제대로 된 입력값이 나올때 까지 재입력을 받는 코드를 구현해보자. 먼저 위의 콘솔창을 띄우는 코드를 다음과 같이 입력한다. 그리고 입력을 받기 위해 int input을 선언하고, 유효한 입력을 했는지 확인하기 위한 함수를 선언한다. 이제 선언된 함수를 작성해보자.Console.ReadLine()으로 input을 받은 뒤int.TryParse(String, Int32) 메서드로 지역변수 ret 을 받는다.(외부에서 선언하지 않고 함수 내부에서 생성이되었음)성공적으로 변환되면 true, 실패하면 false를 반환한다. 성공적..
유니티로 개발을하다가 자료를 찾다보면 프로퍼티 라는 용어를 자주 보게된다.그렇다면 프로퍼티란 무엇일까? 간단하게 말하면 객체의 필드값들을 은닉화를 해서 외부에서는 접근할 수 없는데외부에서 접근할 수 있도록 매개역할을 해주는 것이 프로퍼티이다. 사용예시[접근 제한자] [데이터 타입] 프로퍼티명{ get { // 필드를 반환하거나 다른 로직 수행 } set { // 필드에 값을 설정하거나 다른 로직 수행 }} 먼저 Person이라는 class를 정의한다.필드값(name과 age)은 private로 외부에서는 직접 사용할 수 없다. 그리고 public으로 Name 메서드를 정의하는데get 접근자로 private상태인 name을 return 해..
세자리 수 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 - Legacy - Text 오브젝트 생성 후 이름을 TimeTxt로 변경 2. Inpector 창에 설정값 입력 (예시) 3. 빈 오브젝트 GameManager 생성 후 스크립트 생성Time.deltaTime 프로퍼티 사용deltaTime에서 delta는 값의 차이를 의미한다.지난 프레임이 완료되는 데까지 걸린 시간의 차이를 의미하며 단위는 초.보통 30프레임 기준의 게임에서 한 프레임당 0.033정도가 60프레임 기준의 한 프레임당 0.016 정도면 적당하다.사용 이유?PC의 성능과는 무관하게 동등한 조건으로 설정하기 위해, 다른 플랫폼과 장치여도 각 프레임에 맞게 업테이트를 해줌으로 일관된 환경에서 게임을 플레이 할 수있다. 4. 코드작성 5. Unity 엔진 내 적용