일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스
- 직렬화
- c#
- Generic
- 비선형자료구조
- InputManager
- 람다식
- 유니티
- 효과음
- script
- unity
- BGM
- inputsystem
- delegate
- invokec#events
- 메서드
- skybox
- 코루틴
- FSM
- 스택
- ObjectPool
- 인터페이스
- 자료구조
- UI
- 배열
- 스파르타내일배움캠프
- soundmanager
- LINQ
- 유한상태머신
- 장애물달리기
- Today
- Total
목록스파르타내일배움캠프 (60)
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 해..

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..