XBOX-GAME_CAMP_01
Lecture #1
Design Patterns & Games Organizing code for Re-Usability
Royalty Free Art
https://assetstore.unity.com/?free=true&orderBy=1
Music and sound effects
https://www.reddit.com/r/SFXLibraries/comments/9b09m8/mycompilationoffreesfxlibrary/
Asset Packs 사는것도 좋은 선택이다.
01. NameSpace
네임 스페이스 예시
//namespaces
#include <iostream>
using namespace std;
//모든 코드 형태의 네임스페이스가 접근 가능한 이파일에 들어있다.
namespace first //새로운 네임스페이스
{
int var = 5;
}
namespace second
{
double var = 3.1416;
}
int main (){
cout << first::var << end1; //다양성
cout << second::var << end1;
return 0;
}
Unityh C# 스크립트는 글로벌 네임스페이스에 속해있다
MonoBehavioir
Assets 안의
Art, Audio, Design, Scenes, Scripts
Scripts 폴더 안
CharacterControll, Combat, Core, Movement
하나의 네임 스페이스 (글로벌 네임 스페이스)
유니티의 기본 스크립트
NameSpace 정리
Shoter.Movement라는 namespace를 새로 만들었다.
어떤 것이라도 이 특정한 네임스페이스 아래서는 이 네임스페이스 안에 있는 다른 아이템을 위해서 통제당한다 그리고 이 외의 공간에서 무엇을 접근하게 할 것인지 명확하게 해야한다.
02. Update Pattern
유니티의 모든 객체는 한 프레임 마다 각 개체를 업데이트한다.
using UnityEngine;
public class Movement : Monobehaviour //UnityEngine 네임스페이스 안에
{
void Start()
{
}
void Update()
{
}
}
유니티에서 스크립트 생성시
Start 함수와 (씬 시작시 최초로 실행)
Update함수가 기본으로 생성되어 있다 (매 프레임마다 실행되며 업데이트)
Update()
- Called every frame
FixedUpdate()
- Farame-rate independent message for physics calculations
LateUpdate()
- Called every frame after all other Update() have been called
이 세가지를 적절하게 사용해야 해
Sequencing Functions - in extension (example)
- Start()
- OnGUI()
- OnEnable()
03. Commend Pattern
요청을 객체로 캡슐화하면 유저들이 다른 요청으로 클라이언트들을 조종하도록 하는 것, 로그 요청을 순서대로 정리하고 불가능한 조작을 돕도록 내버려둠
어떤 컨셉을 데이터 조각으로 나누어 변수에 붙이거나 함수 등에 전달할 수 있는 객체가 있다 function pointer deligate callback 에 익수하다면 이건 필수적인 것이다.
다른 객체에 전달한 코드가 있다는 것을 의미
버튼 매핑을 예로 들 수 있다.
W키를 누르고 있다면 해당 액션 수행 다음 동작을 수행하면 연결되는 것
04. Entity Component Pattern (ECS)
구성 요소 패턴
https://mrbinggrae.tistory.com/223 (참고)
05. Prototype Pattern
Author And Source
이 문제에 관하여(XBOX-GAME_CAMP_01), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dbwogml15/XBOX-GAMECAMP01저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)