루리웹에 은근히 플밍 고수들 많으신거 같은데 도와주세요~
일단 언어는 c++인데 대부분 switch문은 비슷하니 상관 없을듯.
제가 하고자 하는게
키를 누르면 -> 그 키에 관한 bool값이 1이 되서 -> 캐릭터가 그것을 받아들이고 움직여야 하는데요.
키를 누르는 것을 확인할 때 스위치 문을 썼더니 상수가 아니라고 난리칩니다.
상수쓰면 상관 없긴 하는데, 나중에 옵션을 이용해서 조작키를 바꿀거라서 가능하면 변수가 먹히도록 하고싶어요.
제가 설명을 못해서 걍 코드 첨부.
//문제없는거
inline void keyDown(SDLKey i)
{
switch (i)
{
case SDLK_RIGHT : -nput.ri[0] = 1; break;
case SDLK_LEFT : -nput.le[0] = 1; break;
case SDLK_UP : -nput.up[0] = 1; break;
case SDLK_DOWN : -nput.dn[0] = 1; break;
}
}
좌측의 SDLK_~~은 SDL라이브러리에 정의된 상수입니다. 특정 키를 누르면 -nput내부의 대응키가 1로 바뀜.
//문제있는거
inline void keyDown(SDLKey i)
{
switch (i)
{
case -nputoption.ri[0] : -nput.ri[0] = 1; break;
case -nputoption.le[0] : -nput.le[0] = 1; break;
case -nputoption.up[0] : -nput.up[0] = 1; break;
case -nputoption.dn[0] : -nput.dn[0] = 1; break;
}
}
좌측의 -nputoption은 미리 지정해 놓은 키 값인데요, 이걸 나중에 옵션에서 변화시킬거라서 변수입니다.
근데 switch문은 상수만 먹어요. 즉 안됩니다.
이부분을 '빠르게' 어떻게 비슷하게 구현할 수 있을까요?
격투게임 만들거라서 시간이 굉장히 중요합니다;;
능력자분들 부탁드려요~