일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 장애물달리기
- 직렬화
- ObjectPool
- 메서드
- inputsystem
- 유한상태머신
- 유니티
- 인터페이스
- 스파르타내일배움캠프
- 비선형자료구조
- unity
- InputManager
- 효과음
- script
- 스택
- skybox
- UI
- 프로그래머스
- soundmanager
- 람다식
- c#
- BGM
- FSM
- 코루틴
- 자료구조
- Generic
- delegate
- 배열
- LINQ
- invokec#events
- Today
- Total
목록C# (23)
Unity 개발일지
일반적으로 "배열"이라 함은 정적배열을 의미하고 "동적 배열"이라고 명확하게 이야기해야 "동적 배열"을 뜻한다.오늘은 이 둘의 차이와 동적배열인 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를 반환한다. 성공적..
기능을 구현하다보면 어떤 식으로 구현할까 항상 고민되는데 답은 생각보다 명확했다.가장 큰 차이로 는 다중 상속과 단일 상속이 있는데상속을 받아서 무언가 동작을 해야한다면 추상클래스로 구현하는 것을 추천하고,특정한 기능들에 대한 호환성을 높이고싶다면 인터페이스로 구현하는 것을 추천한다. 인터페이스 사용예시(다중상속)줍기 기능과 버리기 기능을 구현하고싶어서 각각의 인터페이스 구현Item 클래스 정의 후 IItemPickable과 IDroppable 상속하여 각 기능 세부작성 후Player 클래스에서 호출Main에서 실행하여 확인해보자. 추상클래스 사용예시각 도형의 모양을 그리기 위해 추상클래스 구현각 도형의 클래스에서는 강제로 추상클래스의 Draw() 함수를 구현해야한다.List를 정의하여 확인해보자.
유니티로 개발을하다가 자료를 찾다보면 프로퍼티 라는 용어를 자주 보게된다.그렇다면 프로퍼티란 무엇일까? 간단하게 말하면 객체의 필드값들을 은닉화를 해서 외부에서는 접근할 수 없는데외부에서 접근할 수 있도록 매개역할을 해주는 것이 프로퍼티이다. 사용예시[접근 제한자] [데이터 타입] 프로퍼티명{ 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(' '); 을 해주면 띄어쓰기..