목록공부 (292)
응애맘마조
어제의 과제를 풀이하면서 콘솔 창의 사용 용도를 다시 쓰게 되는 일이 생겼습니다. 디버그를 하게 되는 경우 콘솔 창 출력으로 할 수 있다는 것을 알려주셨습니다. 오늘은 실제 중력이 작용하는 것 같은 등속가속도에 대해 했었습니다. 예를 들어 공을 위로 던졌을 때 공이 멈추게 되는 것 같은 모습을 볼 수 있습니다. 이유는 공이 올라가면서 공기의 저항을 받으면서 속도가 느려지고 작용하는 중력과 위로 올라가면서 작용하는 힘이 같을 때 멈추는 것 같은 느낌이 들 수 있습니다. 힘(스칼라) 값에 마이너스 값을 사용해서 반대로 나갔다가 원래 방향대로 나가는 방법을 사용할 수 있습니다. 이 방법은 점프를 구현할 때 사용할 수 있는 방법입니다. 랜덤함수를 사용할 때 srand() 또는 rand() 함수를 사용합니다. 이..
미사일을 발사하고 점점 빨라지는 모습을 구현했습니다. 실행 영상입니다. 총 10발이고 10발이 발사가 끝나면 더 이상 발사가 안됩니다. R키를 눌러서 리로드를 시켜서 다시 발사 가능하게끔 만들었습니다. //main.h #pragma once #define BMAX 70 class Main : public Scene { private: ObRect player; ObCircle pet; ObRect gaugeBar; Bullet bullet[BMAX]; public: virtual void Init() override; virtual void Release() override; //해제 virtual void Update() override; virtual void LateUpdate() override;..
스페이스바를 눌러서 게이지를 채우고 놓으면 게이지의 크기에 따라 속도가 달라지는 미사일 발사를 만들었습니다. 실행 영상입니다. 총 10발이고 10발이 발사가 끝나면 더 이상 발사가 안됩니다. R키를 눌러서 리로드를 시켜서 다시 발사 가능하게끔 만들었습니다. //main.h #pragma once #define BMAX 70 class Main : public Scene { private: ObRect player; ObCircle pet; ObRect gaugeBar; Bullet bullet[BMAX]; public: virtual void Init() override; virtual void Release() override; //해제 virtual void Update() override; virt..
미사일을 발사하면서 조금씩 현실과 가까운 것들을 배우기 시작했습니다. 중력값이 추가된 것들을 배우기 시작했습니다. 등속도운동과 등가속도운동에 대해서 했었습니다. 등속도운동은 같은 속도로 움직이는 운동입니다. 무중력상태에서는 가능하다는 예시를 들었습니다. 등가속도운동은 같은 가속도로 움직이는 운동입니다. 시간에 따라 가속도가 추가됩니다. 예시를 들면 공을 위에서 떨어뜨렸을 때 처음에는 느리게 떨어지지만 점점 떨어지는 속도가 늘어나게 됩니다. 그러면서 떨어지는 시간이 같을 때 떨어지는 거리는 더 커진다는 뜻입니다. 피벗(Pivot)에 대해서 했었습니다. 중점을 바꾸는 역할을 합니다. 우리가 쓰는 x, y값은 position 값을 사용하는데 이 값을 바꾼다고 보시면 됩니다. 위 사진은 사각형의 팔방향입니다. ..
현재 R키를 눌러서 재장전하는 것까지는 쉽게 하기에 이제 화면 밖으로 나갔을 경우에 자동으로 장전이 되도록 하는 법을 했습니다. 그렇게 하기 위해서는 벡터의 마이너스 합연산을 사용합니다. 두 벡터간의 차이 벡터를 만들 때 사용합니다. 하지만 벡터간의 사이에서 마이너스 벡터 값은 없습니다. 만약 벡터 간의 빼기를 하고 싶을 때는 (벡터) + -(벡터) 공식으로 계산합니다. 벡터간의 빼기는 차합이라고 합니다. 방법은 기준 객체를 원점으로 맞추고 기준 객체의 좌표 벡터를 빼면 됩니다. 그 사이에 나온 값을 거리라고 하는데 distance라고 쓰고 코드상에는 dis라고 표기하였습니다. 읽어주셔서 감사합니다.