목록공부/2D과제 (37)
응애맘마조
주의 : 해당 게시글의 코드는 캐릭터의 움직임을 구현하기 위해 사용한 것으로 특정 게임의 모션을 사용하였습니다. 기타 표절 목적이나 수익 창출을 위해 사용한 것이 아님을 밝힙니다. 8방향 캐릭터 움직임에 대한 것이 과제였습니다. 캐릭터를 만들 때 각각의 클래스로 만들어서 하는 것이 맞지만 캐릭터의 종류나 이미지, 만약 액션 게임 계열이라면 들 수 있는 무기 등등 경우의 수가 굉장히 많아집니다. 따라서 최상위 클래스를 만들어 상속을 받게 하는 것이 가장 이상적입니다. //Character.h #pragma once enum Dir_State { L, T, R, B, LT, RT, LB, RB }; class Character { public: ObRect*col; Vector2moveDir; Dir_Sta..
저번 1탄에 이어서 착지 모션과 젤리 아이템을 먹었을 때 사라지게 하는 것이 과제였습니다. (타격 모션은 과제 내용이 아니었습니다.) //main.h #pragma once enum class C_State { RUN, JUMP, SLIDE }; class Cookie { public: ObRect*col; ObImage*run; ObImage*jump; ObImage*slide; ObImage*landing; C_Statestate; floatgravity; booldoubleJump; boolisDamaged; floatdamageTime; public: Cookie(); ~Cookie(); void Update(); void Render(); void TakeDamage(); }; //main.cp..
이전 강의 게시글에 이어서 코드 내용 게시글입니다. https://keisukeaso.tistory.com/89 //main.h #pragma once #define FMAX 15 class Main : public Scene { private: ObImage*floor[FMAX]; Cookie*cookie; floattest; public: virtual void Init() override; virtual void Release() override; //해제 virtual void Update() override; virtual void LateUpdate() override;//갱신 virtual void Render() override; virtual void ResizeScreen() overr..
이전 게시글에 이어서 코드 내용입니다. https://keisukeaso.tistory.com/86 //main.cpp #include "stdafx.h" #include "Main.h" void Main::Init() { original = new ObImage(L"doramon2.jpg"); original->scale = Vector2(500.0f, 500.0f); original->SetWorldPosX(250.0f); puzzleNum = 3; CreatePuzzle(); Shuffle(); } void Main::Release() { SafeDelete(original); DeletePuzzle(); } void Main::Update() { int temp = puzzleNum; if (Im..
사각형 내 오브젝트의 이동 범위를 한정하는 게 과제였습니다. Saturate를 사용했습니다. //main.cpp #include "stdafx.h" #include "Main.h" void Main::Init() { lim = new ObRect(); lim->scale = Vector2(300.0f, 300.0f); lim->color = Color(0.0f, 0.0f, 0.0f, 1.0f); lim->isFilled = false; cam = new ObRect(); cam->scale = Vector2(100.0f, 100.0f); cam->color=Color(0.0f, 0.0f, 0.0f, 1.0f); cam->isFilled = false; cc = new ObCircle(); cc->scal..