지금 맛폰겜만드는데
캐릭터가 벽에걸리면 이동할값을 빼주면된다는건알았는데
이렇게하면 벽에그냥박혀버려서
----------벽
<-0- > 이렇게 양사이드로 못움직이던데
다른데서 질문한거보니까
멈추지 않고 이동하게 하려면 x, y 값을 벽의 값으로 셋팅해주면 됩니다.
가령 위쪽 벽하고 충돌한 경우 y값만 아래로 내려주면 되겠죠. x 값은 그대로 이동시키구요.
이런게있어서 구현하는데
딱다만들고 조건을걸려는데 상하좌우구분을 어떻게해야할지딱막히던데
캐릭터가 각도방향으로움직여서 벽을구분해볼려고햇는데
180도기준으로하면 겹치는각에서 제대로체크안되고 그렇다고 90도씩하면 90도넘는부분에서 제대로체크가안되는데
어떻게하는게 좋음?
참고로 지금 이렇게 메소드 만들어서 쓰는중
public void move(int x,int y,float angle,float dis)
{
x += gInfo.SinTBL2[(int)(angle * 10.0F)] * disf;
y -= gInfo.CosTBL2[(int)(angle * 10.0F)] * dis;
}
if(벽충돌==true){
move(x,y,angle,-dis);
}
이렇게구현해놈
x.y 캐릭터좌표
angle 이동할방향
dis 이동속도
벽충돌구현하는대 벽충돌구현은 완료됬는대 캐릭터 회전을 어떻게해야할지모른다는거?
내가 머리가 나쁘긴 하지만 얘가 뭔소리하는지 잘 모르겠다
벽충돌구현하는데 벽에충돌하면 더앞으로 못가잖아원래 그대신 각도가 오른쪽으로좀꺽여있으면 앞으로만못가고 옆으로 미끄러지듯이 움직이잖아 근대 내가지금구현해논거로하면 앞으로도못가는데 옆으로가지도못한다는거임 그래서 결론은 이걸해결하고싶다는거
이해는가는대 그림판에그림이라도좀그려서올래
그림추가...
먼소리야 그림은 좌우로 움직이는데 와이는 머에
위벽을기준으로 그린거고 원래는 상하좌우벽이 다있죠