Frontend/Unity

이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론우리는 하나의 클래스로 여러 객체를 생성하는 것을 배웠습니다. 하지만 하나의 클래스로 만든 객체는 속성, 메소드가 다 똑 같기 때문에 너나 할 것 없이 같은 행동을 하고 같은 속성을 띌 것입니다. 우리는 이를 해결하기 위해 저번 파트에서 다뤘던 상속과, 오버라이드 함수를 통해서 다형성을 구현해보록 하겠습니다. 다형성에 대하여다형성은 상속의 뒤를 이어 객체 지향 프로그래밍의 특징을 보여줍니다. 상속 계층도에서 부모 클래스가 가상 메소드를 만들고 파생되는 클래스 계층에서 이를 오버라이드(재정의)하여 각각의 파생 클래스 별로 다른 기능을 수행하도록 하는 것입니다. 부모 클래스에서 protected(상속 받은 객체만 사용 가능) virtual(가상의)..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론유니티에서 클래스라는 것, 스크립트 라는 것은 오브젝트에 생명을 불어 넣는 온기와 같습니다. 아무 움직임 없는 오브젝트에 붙여 넣어 이름을 붙여주고, 걷게하는 등 오브젝트를 오브젝트답게 사용하도록 해주는 것이죠. 클래스에 대하여클래스는 기본적으로 속성(변수)와 행동(메서드)로 이루어져 있습니다. 속성이라함은 이름, 나이, 성별 같은 개체에 특별히 주어지는 말 그대로 속성이고, 행동은 함수나 메소드로 불리는 어떠한 것을 수행하는 것을 말합니다. 클래스의 상속 위와 같은 트리구조를 상속 계층도라고 합니다. 상속이라는 것은 상위의 부모 클래스의 변수, 메소드를 모두 흡수해서 완전히 새로운 클래스를 만드는 것으로, 원래의 상위 클래스는 건들이지 않으면..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론프로퍼티(Property)는 속성이라는 의미를 가지고 있습니다. 클래스에서 멤버 변수를 속성이라고도 하는데 우리는 정보은닉을 위해 이를 private로 선언하여 해당 변수가 선언된 클래스 외부에서 접근이 불가능하게 할 것이냐, 아니면 편의성을 위해 public으로 선언할 것이냐 고민하곤 했습니다. 그래! 정보 은닉을 위해 private로 선언하자! 생각하여 private 를 사용하면 또 불편한 점이 생겼습니다. getter 메소드와 setter 메소드를 구현해야 하는 것이죠. 이를 편리하게 해주는 C#의 프로퍼티를 배워보도록 하겠습니다. 프로퍼티 사용법 아래와 같이 우리는 private로 선언한 변수를 얻거나 세팅하기 위해 get, set 메소..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론프로그래밍 언어의 종류와 무관하게 반복문은 굉장히 많이 쓰이는 것을 알 수 있습니다. 특히 게임에서의 반복문은 굉장히 큰 비중을 차지하고 있습니다. 이번 파트에서는 foreach문, for문, while문을 통해 이전 파트에서 배열을 통해 생성한 코드를 아래와 같은 결과가 나오도록 수정하는 방법에 대해 배워보도록 하겠습니다. foreach문 foreach문은 이전 파트에서 배웠던 배열과 연관이 있는 구문입니다. C#에서 가장 간단한 반복문이라고 할 수 있습니다. 배열의 첫 번째 인자부터 마지막 인자까지 넘겨서 foreach문 내부에서 어떠한 처리를 진행할 수 있습니다. foreach (type obj in Array){// 넘겨받은 obj에 대..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 배열하나의 변수 이름으로 여러개 데이터를 담을 수 있는 묶음형 변수입니다. 아래와 같이 선언합니다. int [ ] number = new int [5]; 데이터타입 [ ] 배열 이름 = new 데이터타입 [담을 데이터 개수]; 배열의 사용법 배열을 선언한 후 할당은 '배열이름[인덱스] = 할당값' 의 방법으로 합니다. 배열의 인덱스의 접근도 '배열이름[인덱스]' 가능합니다. using UnityEngine; using System.Collections; public class Sample : MonoBehaviour { int[] num = new int[5]; // Use this for initialization void Start () { n..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론간단하게 if문, switch문, ?문의 3가지 조건문에 대해서 알아보고, 유니티에서 어떻게 쓰일지 생각해보는 시간을 가지도록 하겠습니다. if문if문은 무척 유용하게 쓰입니다. 예를 캐릭터의 피가 40%가 되면 경고를 띄우고 0이 되면 죽는다던가, 돈이 5000원이 되면 무기를 살 수 있다던지 다양한 곳에 수도 없이 쓰이는 것이 if 문입니다. 가장 많이 사용하는 기본적인 조건 판단 구문이죠. if (조건 판단을 위한 식 / 참 거짓 값) { } else if (조건 판단을 위한 식 / 참 거짓 값) { } else { } 위와 같이 사용하며, if ( ) 안의 내용이 참일 때는 상단 { } 안의 코드가 실행되고 else if ( ) 내용이 ..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 열거형을 쓰는 이유?상수에는 값을 입력하므로, 값 입력에서 실수가 일어난다, 열거 형식을 사용하면 이를 방지할 수 있습니다. 같은 종류에 속하는 여러 개 상수를 선언할 때, 단순히 종류를 구별하기 위해 상수가 필요하면 열거형을 사용하는 것이 좋습니다. 아래와 같이 상수를 만드는데 구별만을 위해 상수를 쓸 때는 상수에 들어가는 값은 전혀 의미가 없고 각각의 상수가 서로 다른 값만 가지면 작동이 됩니다. 이렇게 구별을 위해 상수를 쓸 때 정확하게 상수를 무조건 다르게 해야하는데 사람인지라 실수를 하기 마련입니다. 이를 위해 열거 형식을 사용합니다. 열거형이란?상수의 일종으로 const 키워드 대신 enum을 사용합니다. 열거형은 const와 다르게 값..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 주석의 종류유니티에서 사용하는 C#의 주석도 여러분이 평소에 사용하던 주석과 큰 차이가 없으므로 거부감 없이 받아들일 수 있을거라 생각합니다. 주석을 남기는 습관은 매우 중요합니다. 자신이 나중에 코드를 다시 볼 때나 여러분의 팀이 당신의 코드를 볼 때 모두 도움이 되죠. 그럼 간단하게 주석에 대해서 살펴보도록 합시다. 1. // : 한줄 짜리 코드에 주석을 달 때 2. /* */ : 여러 줄의 코드에 주석을 달 때 3. /// : 모노디벨롭에서 제공하는 자동완성 주석 자동완성 주석을 남기길 원하는 함수 위에 ///를 입력하면 자동완성 주석이 뜨게 됩니다. 함수에 대한 요약과 파라미터에 대한 설명을 사용자 임의로 설정할 수 있습니다. 이렇게 사용하..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 함수의 기능 1. 코드의 묶음. 여러개의 코드가 하나의 일을 처리할 경우 이 명령어들을 묶어서 함수로 만들어 사용하면 편리합니다. 어떤 명령의 집합을 반복적으로 사용할 때 코드 재활용 측면에서 코드를 계속 복사해서 붙여넣을 수 있지만, 함수로 만들어 호출해주는 것이 훨씬 좋은 방법입니다. 2. 실행하면 내부적으로 순서대로 명령을 처리해 얻은 결과 값을 반환하는 용도로도 사용합니다. 3. 어떤 값을 입력하면 이 값을 받아 내부에서 어떤 계산을 하여 그 결과값을 반환하는 용도로 사용합니다. 함수의 종류1. 반환하지 않고 명령들만 실행하는 함수 // Use this for initialization void Start () { print ("Reload..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 C# 뿐 아니라 변수는 모든 언어에서 핵심적인 개념입니다. 플레이어의 이름, HP, 위치, 방향 등의 많은 종류의 정보를 취급할 때 변수가 필요합니다. 즉 각 데이터마다 다른 단위를 지니므로 변수가 여러개 필요합니다. 이름은 'Tom', 'Jane', 'Jerry' 와 같이 문자열이고, HP는 '10', '50', '100'과 같은 정수형이죠. C# 프로그래밍에 빠질래야 빠질 수가 없는 변수에 대해 알아보도록 하겠습니다. 변수란? 데이터를 담아두기 위한 상자이름 그대로 프로그램 진행 중에 값이 변할 수 있다는 뜻 변수는 프로그램의 흐름에 따라 값이 변하기 때문에 이름을 지정해서 사용합니다. 아무때나 변하는 것은 아니고 오브젝트 인스펙터에서 값..
에반황
'Frontend/Unity' 카테고리의 글 목록 (3 Page)