인스타그램 클론을 끝내고 게임을 만들어 보았다 !
하늘에서 귀신이 떨어지면 밑에서 영웅은 귀신을 머리로 들이받으면서 죽이는 게임!
왼쪽 오른쪽 방향키로 영웅을 이동할 수 있고 방향에 맞는 옆모습도 볼 수 있다.
start버튼
을 누르면 하늘에서 귀신이 떨어진다. (귀신이 떨어지는 x축은 랜덤으로 지정된다.)
영웅의 머리 위로 귀신이 떨어지면 귀신은 죽는다.
영웅을 좌우로 이동시키는 부분을 어떻게 접근해야할지 막막했고 hero.style.left와 hero.offsetLeft 각각이 스트링인지 숫자인지 제대로 알지못해서 코드가 작동이 안되는 경우가 많았다.
귀신을 생성하는 과정에서 하나의 귀신을 생성하고 내려보내는건 어렵지 않았는데 여러개를 생성하는게 어려웠다. 멘토님께서 class를 사용해야한다고 하셨지만 아직 class에 대한 개념이 정확하게 잡혀있지 않아서 접근 자체가 어려웠다.
start버튼을 클릭하면 게임이 시작되는데 stop버튼을 누르면 게임이 멈추는 것 까지는 구현하지 못했다. stop버튼에 대한 click 이벤트를 만들고 함수안에 clearInterval을 쓰면 될거라 생각했는데 귀신이 계속 내려온다... 이부분은 다시 생각해봐야할 것 같다!
hero.style.left <= "612px"
이라고 했지만 적용이 되지 않았다. 왜냐하면 style.left
는 string이기 때문에 범위를 지정하는 것 자체가 말이 안됬던 것! 그래서 숫자값인 offsetLeft
를 사용했더니 범위가 지정됐다!영웅을 세팅할 때, 영웅의 앞모습 그리고 왼쪽, 오른쪽 각각의 옆모습이 필요했고 이미지 스프라이트를 사용해 필요한 이미지를 잘라서 사용했다.
this
!! 내가 이해했을 때, this는 생성자함수를 통해 만들어진 객체를(여기서는 귀신) 가리킨다.this.'변수명'
으로 지정했다.+++ class 함수로 변경 후