전체 글

Archive

Awake, Start, Update, LateUpdate, FixedUpdate, OnEnable, OnDisable, OnGUI

Awake 스크립트가 실행될 때 한 번만 호출되는 함수다. 주로 게임의 상태 값 또는 변수의 초기화에 사용한다. Start 함수가 호출되기 전에 맨 먼저 호출된다. 스크립트가 비활성화돼 있어도 실행된다. 코루틴으로 실행 불가 Start Update 함수가 호출되기 전에 한 번만 호출된다. 스크립트가 활성화돼 있어야 실행된다. 다른 스크립트의 모든 Awake가 모두 다 실행된 이후에 실행된다. 코루틴으로 실행 가능 Update 프레임마다 호출되는 함수로 주로 게임의 핵심 로직을 작성한다. 스크립트가 활성화돼 있어야 실행된다. LateUpdate 모든 Update 함수가 호출되고 나서 한 번씩 호출된다. Update 함수에서 전처리가 끝난 후 실행해야 하는 로직에 사용한다. 카메라 이동 로직에 주로 사용하는..

Archive

디펜던시 인젝션(Dependency Injection)

흔히 '의존성 주입' 이라고 불리는 'Dependency Injection'은 느슨한 커플링을 위해 많이 사용되는 방식이다. 클래스 A가 어떤 작업을 수행하기 위해 클래스 B의 인스턴스에 의존해야 하는 경우, B는 A의 디펜던시(의존성)이라고 한다. DO THIS! 클래스 A 외부에서 만들어진 인스턴스를 주입받아 참조한다. DON'T DO THIS! 클래스 A 내부에서 클래스 B의 인스턴스를 직접 만들어 참조한다. '포켓몬 고' 개발자들이 설명하는 Dependency Injection

Archive

S.O.L.I.D - 객체지향 설계의 가장 큰 원리

객체지향적 프로그래밍을 할때에는 S.O.L.I.D 라고 불리는 5가지 큰 원리를 따라서 설계를 해야 한다. 이것들은 GRASP(General Responsibility Assignment Software Patterns) 소프트웨어 일반 책임 적용 패턴 9가지로 세분화할 수 있다. S : Single Responsibility Principle 단일 책임 원칙 모든 클래스는 단 하나의 분명한 역할 만을 책임져야 한다. 클래스를 수정할 이유가 단 하나여야 한다. DO THIS! 총 클래스가 있을때, 총은 플레이어가 입력을 할 때마다 총알을 생성한다. 이것이 총 클래스가 할 일의 거의 전부다. DON'T DO THIS! 생성된 총알이 무엇과 충돌하고 어떤 결과를 야기하는 지에 대해서는 전혀 관여하지 않는다...

Archive

API(Application Programming Interface)

API? API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 프로그래밍을 하기 위해 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. API 자체는 어디까지나 사양(Specification)만을 정의하기 때문에 구현(Implementation)과는 독립적이다. 예로 Windows의 MFC / Win32, C++의 STL 등이 있다. API가 실제 기능 구현체인 라이브러리와 함께 제공되면 SDK라고 한다.

냉국
Hardcore Graphics Engineering