작성
·
225
답변 1
1
이미지 말고, 그냥 코드를 긁어서 복사해서 올렸으면 더 편할텐데,.. 굳이 이미지까지 찍어주시는 수고를 하시네요 ㅎㅎㅎ;;;
소스 코드면 제가 직접 넣어서 어디가 오류가 나는지도볼 수 있고, 직접해보면서 뭐가 문제인지도 볼 수 있을텐데 하하..ㅣ;;
이러면 하나하나 다 읽어봐야 해서,
이런식이면 본인이 잘못 작성한걸 찾는게 훨씬 빠를거예요.
작성하신건 본인이고, 어디서 실수 했는지를 찾는건, 본인이 더 잘 하겟죠...
라곤 했지만 찾긴 했는데요. 저도 다른걸 강의 하다 와서, 이런경우 많이 받는데, 되도록,,, 원문을 올려줘요. 원문을 올려도 본인이 실수한걸, 다른 사람이 찾는것보다 본인이 더 찾기 쉬우니까요.. ( 그리고 이렇게 원문으로 올려야 ctrl +F 같은걸로 찾기도 훨씬 편하니까요. ) 어느부분이 잘못됬을거란 예상을 하고, 그부분을 찾은담에, 그부분을 볼 수 있죠. 그냥 이런 이미지면, ... 하나하나 다 읽어봐야해요.
이부분 제가 작성한 코드랑 자성하신 코드랑 뭐가 다른지 한번 보세요.
제가 작성한 코드에는 탭이 어떻게 처리 되어 있는지 확인 해보세요.
설명을 좀 드리자면, 작성하신 코드는
if 가로 벽에 닿았다면,
~~~ 처리를 하고,
if 그 중에서, 세로벽에 닿았다면,
~~~~ 처리를 하고,
ball_val["pos_x"] += ball_val["to_x"]
즉 이동을 해라, 라는 문장이라서,
가로 벽에 닿은후 세로 벽에 닿은 후에만 움직입니다. 따라서, 가로 벽 세로벽 닿기 전인 공은 움직일 수 없죠..;. 매우 특수한 상황 그러니까 가로 벽과 세로 가 움직여야 만 움직이는 특이한 공이예요 한마디로 못움직이죠..
탭이 굉장히 중요해요.
반면에 제가 작성한 코드는
if 가로벽에 닿았다면,
~~~~ 처리를 하고,
그게 아니라, 세로벽에 닿았다면,
~~~ 처리를 하고,
또, 뭐가 됬든
이동을 해라. 가 되서,
가로가 먼저 닿든 세로가 먼저 닿든 혹은 아무것도 안닿든. 그냥 움직이죠 if 문 아래에 넣을게 아니라 바깥에 넣어야 하는 겁니다.