Player ์ด๋(2)
- ํค ๋์ ์ ๋ ฅ ๋ง๊ธฐ
์ง๋๋ฒ์ player ์ด๋์ ๊ตฌํํ์ ๋ ์ฌ๋ฌ ํค๋ฅผ ๋์์ ๋๋ฅด๋ฉด ํ๋ ์ด์ด๊ฐ tile์ ์ดํํด๋ฒ๋ฆฌ๋ ์ผ์ด ์์์ต๋๋ค.
player๊ฐ idle ์ํ์ผ ๋๋ง ํค ์ ๋ ฅ์ ๋ฐ์ ์ ์๊ฒ ๋ณ๊ฒฝํ์ฌ ์ฌ๋ฌ ํค๊ฐ ๋์์ ์ ๋ ฅ๋์ด ์ฌ๋ฌ move event๊ฐ ํผ์ ์ ์ผ์ผํค๋ ๊ฒ์ ๋ฐฉ์งํ์ต๋๋ค. ๋ํ player๊ฐ ๋ค์ ํ์ผ์ ์ค์ ๊ณผ 10px์ด๋ด์ ๊ฑฐ๋ฆฌ์๋ง ์์ด๋ tile ์ด๋์ด ์๋ฃ๋ ๊ฒ์ผ๋ก ์ฒ๋ฆฌํ์ฌ player์ ์์น๋ฅผ ์ค์ ์ผ๋ก ์ด๋์ํค๊ณ player์ ์ํ๋ฅผ idle๋ก ๋์์ค๊ฒ ํ์์ต๋๋ค.
- player ์ด๋ฏธ์ง ๋ฐ์ ์ํค๊ธฐ
ํ๋ ์ด์ด๊ฐ ๊ฐ๊ณ ์ ํ๋ ๋ฐฉํฅ์ผ๋ก ์ด๋ฏธ์ง๊ฐ ๋ฐ์ ์ด ๋๋๋ก ๋ง๋ค์์ต๋๋ค.
win32์์ ์ด๋ฏธ์ง๋ฅผ ๋ฐ์ ์ํค๊ธฐ ์ํด์๋ StretchBlt๊ณผ TransparentBlt์ ๊ฒฐํฉํ์ฌ ์ฌ์ฉํด์ผ ํฉ๋๋ค. object์ flip๋ณ์๊ฐ true์ผ ๋ ์ด๋ฏธ์ง๋ฅผ ๋ฐ์ ์์ผ ์ถ๋ ฅํ์ต๋๋ค.
if (m_bFlip) // ์ด๋ฏธ์ง ์ข์ฐ ๋ฐ์
{
// ์ด๋ฏธ์ง ์ข์ฐ ๋ฐ์ ์ ์ํด DC ์์ฑ
HDC reverseDC = CreateCompatibleDC(_dc);
HBITMAP buffer = CreateCompatibleBitmap(m_vecFrm[m_iCuridx].pTex->GetDC(), (int)m_vecFrm[m_iCuridx].vSize.x, (int)m_vecFrm[m_iCuridx].vSize.y);
HGDIOBJ oldObj = SelectObject(reverseDC, buffer);
StretchBlt(reverseDC // ์ถ๋ ฅ ๋์ HDC
, int(m_vecFrm[m_iCuridx].vSize.x) // ์ถ๋ ฅ์ ์์ํ x ์ขํ
, 0 // ์ถ๋ ฅ์ ์์ํ y ์ขํ
, int(-(m_vecFrm[m_iCuridx].vSize.x + 1)) // ์ถ๋ ฅ์ ์ข
๋ฃํ x ์ข๋ฃ
, int(m_vecFrm[m_iCuridx].vSize.y) // ์ถ๋ ฅ์ ์ข
๋ฃํ y ์ขํ
, m_vecFrm[m_iCuridx].pTex->GetDC() // Src's HDC
, 0, 0 // src image start position
, int(m_vecFrm[m_iCuridx].vSize.x) // image width
, int(m_vecFrm[m_iCuridx].vSize.y) // image height
, SRCCOPY // copy ๋ฐฉ๋ฒ
);
TransparentBlt(_dc // ์ถ๋ ฅ ๋์ HDC
, int(vRenderPos.x - m_vecFrm[m_iCuridx].vSize.x / 2.f) // ์ถ๋ ฅ์ ์์ํ x ์ขํ
, int(vRenderPos.y - m_vecFrm[m_iCuridx].vSize.y / 2.f) // ์ถ๋ ฅ์ ์์ํ y ์ขํ
, int(m_vecFrm[m_iCuridx].vSize.x) // ์ถ๋ ฅ์ ์ข
๋ฃํ x ์ข๋ฃ
, int(m_vecFrm[m_iCuridx].vSize.y) // ์ถ๋ ฅ์ ์ข
๋ฃํ y ์ข๋ฃ
, reverseDC // Src's HDC
, 0, 0 // src image start position
, int(m_vecFrm[m_iCuridx].vSize.x) // image width
, int(m_vecFrm[m_iCuridx].vSize.y) // image height
, RGB(112, 12, 41)); // ์ญ์ ํ ์์
DeleteObject(reverseDC);
DeleteObject(buffer);
DeleteObject(oldObj);
}
NPC ๋ฐฐ์น
tilemap์ npc์ ์์น๋ฅผ ์ ์ฅํ๊ณ stage์ ๋ฐ๋ผ ์ ํฉํ npc๋ฅผ ๋ถ๋ฌ์ค๋๋ก ์ค๊ณํ์ต๋๋ค.
Transition ํจ๊ณผ
์์ง์ ๋๊ธฐ๋ ๋๋์ด ์์ง๋ง Transtion์ ์ถ๊ฐํ์ต๋๋ค.
'๐งญ Devlog > ํฌํ ์ด์ปค ๋ชจ์ ๊ฐ๋ฐ ์ผ์ง' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ชจ์ ๊ทผํฉ! (0) | 2022.03.18 |
---|---|
[ํฌํ ์ด์ปค ๋ชจ์ Day11] ์ธ๊ฒ์ UI ์ถ๊ฐ, ํฐํธ ์ถ๊ฐ, Player Dead (0) | 2022.02.21 |
[ํฌํ ์ด์ปค Day8] Player ์ด๋ (0) | 2022.02.16 |
[ํฌํ ์ด์ปค ๋ชจ์ Day6, Day7] Player ์ ๋๋ฉ์ด์ ์ ์ฉํ๊ธฐ, Debug๋ชจ๋์์ ํ์ผ ํธ์งํ๊ธฐ (0) | 2022.02.15 |
[ํฌํ ์ด์ปค ๋ชจ์ Day5] Tilemap Object ์ถ๊ฐ, Tilemap ํ์ผ Save/Load (0) | 2022.02.11 |