플레이어의 잔상을 없애주고 미사일의 방향을 조절해준다 (Event and Vector)
Engine
Common
Common.h (펜이랑 브러쉬 객체화 구조체로)
def.h
Maths.cpp
Maths.h
yaEntity.cpp
yaEntity.h
Component
Base (기초가 됨)
yaComponent.cpp
yaComponent.h
yaAnimatior.cpp
yaAnimatior.h
yaCollider.cpp
yaColider.h
GameObject
Base (기초가 됨)
yaGameObject.cpp
yaGameObject.h
yaBgimageObject.cpp
yaBgimageObject.h
yaMissile.cpp
yaMissile.h
yaPlayer.cpp
yaPlayer.h
High Level Interface
yaApplication.cpp (더블버퍼링 효과 만들기)
yaApplication.h
Manager
yaCollisionManager.cpp
yaCollisionManager.h
yaInput.cpp
yaInput.h ==> 키보드에서 키를 눌렀을 때 호출되는 파일들
yaResources.cpp
yaResources.h ==> 리소스들을 관리하는 파일들
yaSceneManager.cpp
yaSceneManager.h
yaTime.cpp
yaTime.h ==> deltatime 설정
Resource
Base
yaResource.cpp
yaResource.h
yaImage.cpp
yaImage.h
Scene
Base ( 기초가 됨 )
yaScene.cpp
yaScene.h
yaEndScene.cpp
yaEdScene.h
yaLogoScene.cpp
yaLogoScene.h
yaPlayScene.cpp
yaPlayScene.h
yaTitleScene.cpp
yaTitleScene.h
main
framework.h
main.cpp
Resource.h
targetver.h
WindowsAPI.h
기타
애니메이션 반전
API에서는 불가능, directx 2d는 가능
이미지 회전(PlgBlt) 함수
프레임 너무 잡아먹으니까 이미지 따로 가져와서 할 것
삼각함수를 이용해서 이미지들을 회전 (어려움)
==> 벡터를 이용한 회전 (쉬움)
회전을 넣어줄 때는 벡터를 사용한다!
// 삼각함수를 이용한 회전
mDir = PI / 2.0f;
pos.x += speed * cosf(mDir) * Time::DeltaTime();
pos.y -= speed * sinf(mDir) * Time::DeltaTime();
// 벡터를 이용한 회전
pos.y += mDir.y * speed * Time::DeltaTime();
pos.x += mDir.x * speed * Time::DeltaTime();
yaPlayer.cpp에서 미사일의 방향을 바꿔줄 수 있다.
missile->mDir = Vector2(mCoff, -1.0f + mCoff);
mCoff -= 0.1f; // mCoff = mCoff - 0.1f
// 미사일의 방향을 바꿔주는 벡터함수
용어정리
라디안각도
- 1 라디안은 = 호가 r인 도형의 각도
- 반지름이 r인 원의 각도는 = 2ㅠ 라디안
https://blog.naver.com/PostView.nhn?blogId=saomath&logNo=221979375013
'Win32 API > 강의들 ft. Assortrock' 카테고리의 다른 글
17_AnimationFolder And UnityBuild (0) | 2022.11.17 |
---|---|
16_Rotate And Input (0) | 2022.11.17 |
14_AnimationEvent (0) | 2022.11.17 |
13_Animation (0) | 2022.11.17 |
12_FadeInOut and ObjectDestroy (0) | 2022.11.17 |