-
[게임엔진활용] 7강 게임 시스템 구성[DSU] 게임엔진활용 2026. 6. 8. 00:45728x90
기존 방식 (Hierachy > 우클릭 Create Empty > RenderView 명명 > Add Component : RenderView.cs) 에서,
RenderView클래스를 상속받은 새로운 클래스에서 load / free / draw / mouse로 직관적으로 코드를 작성할 수 있도록 수정.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263public class RenderView : MonoBehaviour{public virtual void load() { }public virtual void free() { }public virtual void draw(float dt) { }public virtual void mouse(int state, float x, float y) { }public MainCamera mc;void Start(){mc = FindFirstObjectByType<MainCamera>();...load();MainCamera.methodMouse = mouse;}~RenderView(){free();}void OnGUI(){if (Event.current.type != EventType.Repaint)return;...GL.Clear(true, true, Color.clear);draw(Time.deltaTime);// do something ......}}public class MainCamera : MonoBehaviour{void Start(){...setGame("GameScene");// GameScene / GameCollision / GamePS / GameCombo}static GameObject rv = null;public static void setGame(string nameScene){GameObject go = new GameObject(nameScene);System.Type t = System.Type.GetType(nameScene);go.AddComponent(t);if (rv != null){GameObject.Destroy(rv);Resources.UnloadUnusedAssets();}rv = go;}public delegate void MethodMouse(int state, float x, float y);public static MethodMouse methodMouse = null;}cs 메인 카메라에서 setGame("GameScene"); cs파일만 지정하면, 아래 처럼 프로그램을 시작 가능.
123456789101112131415161718192021222324public class GameScene : RenderView{public override void load(){// 리소스 로딩}public override void free(){// 리소스 해제}public override void draw(float dt){// 그리기// 키보드 제어}public override void mouse(int state, float x, float y){// 마우스 제}}cs 
매일매일 열심히 게임 개발하고 있습니다 '[DSU] 게임엔진활용' 카테고리의 다른 글
[게임엔진활용] 9강 플랫포머 게임 제작 (0) 2026.06.08 [게임엔진활용] 8강 사과 게임 제작 (0) 2026.06.08 [게임엔진활용] 6-2강 이미지 분할 및 애니메이션 (0) 2026.04.20 [게임엔진활용] 6-1강 operator (0) 2026.04.20 [게임엔진활용] 5강 AutoNumber, ProgressBar (0) 2026.04.13

