본문 바로가기

분류 전체보기183

GroundZero 제작일지 - GameOverScene 구현 ▼구현할 부분 ▼ 과정 PlayerCar 안에 'GameOverCanvas' 라는 이름으로 Canvas 생성해준다. Canvas의 RenderMode를 'World Space'로 변경해주고, Event Camera를 PlayerCar의 자식인 OVRCameraRig의 CenterEyeAnchor로 설정해준다. GameOverCanvas 안에 아래와 같이 만들어준다. UI들을 담을 bg를 만들어주고 그 아래에 'DEFEAT' 텍스트와 게임결과를 알려줄 List들을 담을 배경으로 List_bg를 만들어주고 그 아래에 List들을 만들어준다. 게임결과 종류는 총 4가지로, 아래와 같다. 1) Player가 Enemy들에게 데미지 입힌 총량 2) Player가 방패로 총알을 방어한 횟수 3) Player가 죽인.. 2023. 12. 21.
[CS공부] 디자인패턴 - 프록시 패턴, 이터레이터 패턴, 노출모듈 패턴 5. 프록시 패턴(proxy pattern) : 대상 객체(subject)에 접근하기 전 그 접근에 대한 흐름을 가로채 해당 접근을 필터링하거나 수정하는 등의 역할을 하는 계층이 있는 디자인 패턴 : 객체의 속성, 변환 등을 보완하며 보안, 데이터 검증, 캐싱, 로깅에 사용 **캐싱: 파일 복사본을 캐시 또는 임시 저장 위치에 저장하여 보다 빠르게 액세스할 수 있도록 하는 프로세스 **로깅: 정보를 제공하는 일련의 기록인 로그(log)를 생성하도록 시스템을 작성하는 활동 프록시 서버(proxy server) : 서버와 클라이언트 사이에서 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용 프로그램 프록시 서버로 쓰는 nginx : 비동기 이벤트 기반의.. 2023. 12. 17.
GroundZero 제작일지 - 날아다니는 적(Enemy 3) 이동 구현 ▼ 구현할 부분 ▼ 구현 목표 - 날아다니는 적(Enemy 3)의 이동 및 공격 구현하기 하늘에 떠다니는듯 위아래로 움직이면서 Player 따라가기 (like 두둥실,,) 2023. 12. 12.
상속과 구현의 차이 ○ 상속(extends) : 자식 클래스가 부모 클래스의 메서드 등을 상속받아 사용 : 자식 클래스에서 '추가 및 확장' 가능 ---> 재사용성, 중복성의 최소화 ○ 구현(implements) : 부모 인터페이스(interface)를 자식 클래스에서 '재정의'하여 구현하는 것 : 상속과는 달리 반드시 부모 클래스의 메서드를 재정의하여 구현해야 함 ◎ 상속과 구현의 차이 : 상속은 일반 클래스, abstract 클래스를 기반으로 구현, 구현은 인터페이스를 기반으로 구현 2023. 12. 10.
[CS 공부] 디자인 패턴 - 전략 패턴, 옵저버 패턴 3. 전략 패턴(strategy pattern) : aka. 정책 패턴(policy pattern : 객체의 행위를 바꾸고 싶은 경우 '직접' 수정하지 않고 전략이라고 부르는 '캡슐화한 알고리즘'을 컨텍스트안에서 바꿔주면서 상호 교체가 가능하게 만드는 패턴 EX) 어떤 것을 구매할 때 네이버페이, 카카오페이 등 다양한 방법으로 결제하는 것 (결제 방식의 '전략'만 바꿔섯 두 가지 이상의 방식으로 결제하는 것) **컨텍스트 : 프로그래밍에서의 컨텍스트는 상황, 맥락, 문맥을 의미. : 개발자가 어떠한 작업을 완료하는 데 필요한 모든 관련 정보를 말함. 4. 옵저버 패턴(observer pattern) : 주체가 어떤 객체의 상태 변화를 관찰하다가 상태 변화가 있을 때마다 메서드 등을 통해 옵저버 목록에 있.. 2023. 12. 10.
[CS 공부] 디자인 패턴 - 싱글톤 패턴, 팩토리 패턴 ◎ 디자인 패턴 : 프로그램들을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것. 1. 싱글톤 패턴 (singleton pattern) : 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 : 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용 : 데이터베이스 모듈에 많이 사용 ○ 장점 - 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하므로 인스턴스 생성시 비용이 적음. ○ 단점 - TDD(Test Driven Development)를 할 때 어려움이 있음. --> TDD는 단위 테스트를 주로 하는데, 단위 테스트는 각 테스트가 서로 독립적이어야 하고 테스트를 어떤 순서로든 실.. 2023. 12. 10.