WinAPI 18 Object (2)

CJB_ny·2022년 9월 2일
0

WinAPI

목록 보기
18/79
post-thumbnail

미사일 구현

미사이클 클래스 만든다.

선언부는

이렇게, 구현부는

이따위로 해준다.

매크로 설정 (재활용) ❗

이번 시간에 눈여겨 봐야 할점이 매크로 재활용 하는 부분이다.

처음에 KEY_CHECK 하나만 있었다면

player의 if문이

if (KEY_CHECK(KEY::W, KEY_STATE::HOLD))

이렇게 적어 주었어야 했는데, 

매크로를 재활용 하는 느낌으로다가 이렇게 해준다면 이제는

이렇게 줄일 수 있다. (빨간줄은 현재 매크로 인식이 느려서 그런거같다...)

미사일 추가 ❗

Player.cpp에서 일단 이렇게 구현을 다 해주자.

Player Object가 space눌렸을 때 해당함수 호출하면서 위치랑, 크기, 방향 다 설정해준 상태로 만들어진다.

이제 만들었으니까 Scene에다가 넣어주어야한다.

현재씬은 누구한테서 얻어 올 수 있나?

'현재씬'에서부터 얻어 올수 있다.

CScene에서 현재 씬 얻어 올 수 있는 함수 열어주고 얻어 온다음에 AddObject한다.

동동그라미

현재 updare, render어디서 하고있나?

CScene에서 호출하는 중이다. 이 함수들은 다시 objects의 update, render호출하는중이다.

개개인별의 오브젝트가 update, render를 호출할 수 있도록 모든 오브젝트들은 CObject를 상속받도록 만들었고

CObject의 update, render함수가 override할 수 있게 만들었다.

원래 다른 오브젝트들은 render함수를 상속받아서 사용하지 않고 부모의 render함수를 상속받아서 사용했는데

미사일의 경우 동그랗게 그려지길 원하니까

override하여 동그라미로 출력해주도록 하자. (Ellipse 함수 사용)

ㅇㅋ.

중간확인

AddObject가 부모 포인터 가르키는데

여기 missile주소 넣을 수 있는 이유? => 미사일은 CObject를 상속받았기 때문에

객체의 제일 앞 주소가 부모포인터로 되어있고 가상함수 테이블 주소도 들어있을 것이다.

=> 이게 '다형성'

과제

Resource

자원을 공유를 해서 사용할 것이다.

종류

대표적인 리소스가 '이미지', '사운드' 정도

기초수학

기초수학은 '필수'이다.

  • 삼각함수

  • 호도법(라디안), 원주율

  • 벡터

  • 스칼라

  • 내적, 외적

  • 공간도형

    벡터 (x, y, z), 공간, 직선, 평변

  • 행렬

    역행렬, 규칙

물리

  • 거 = 속 * 시

  • 가속도

  • 등가속도

  • 마찰계수

profile
https://cjbworld.tistory.com/ <- 이사중

0개의 댓글