If you're seeing this message, it means we're having trouble loading external resources on our website.

웹 필터가 올바르게 작동하지 않으면 도메인 *. kastatic.org*.kasandbox.org이 차단되어 있는지 확인하세요.

주요 내용
현재 시간:0:00전체 재생 길이:3:07

동영상 대본

축하합니다 이제 여러분은 JavaScript 언어를 이해했습니다 변수, 반복문, 문자열 함수, 객체, 배열 객체지향 디자인까지요 하지만 활용할 수 없다면 그게 무슨 소용이겠어요? 이 지식을 사용할 수많은 방법들이 있습니다 그중 ProcessingJS와 JavaScript를 사용하는 가장 인기있는 방식은 게임과 시각화입니다 인기 프로그램 목록을 살펴보면 아마 여러분들은 알게 될 거에요 게임은 상호적이고 보상이 있습니다 이기거나 지거나 점수를 내는 방식으로요 시각화 역시 매우 상호적입니다 게임에서 쓰는 방법이 아니더라두요 자 이제 필요한 기본 요소들을 살펴봅시다 우선 UI 컨트롤이 필요합니다 버튼, 슬라이더나 드롭다운메뉴같은거죠 단순한 버튼이 필요할 수도 있고 어떤 때엔 여러개의 버튼이 필요하기도 합니다 때로는 슬라이더나 드랍 다운 메뉴가 필요하고요 이런 것들은 모두 기본적인 원칙 하에 생성됩니다 마우스로 움직이는 것 이외에 우리는 키보드 컨트롤도 필요합니다 캐릭터를 옮기기 위해 방향키를 쓰거나 보는 각도를 바꾸기 위해서지요 우리는 화면 에 대한 이해 역시 필요합니다 화면 이란 시작 화면, 옵션 선택 화면 메인 화면, 끝내기 화면 등을 말합니다 보통 모두 다르며 특정한 시기에 그 중 한가지를 보여줘야 하죠 따라서 여러분은 코드를 잘 조직해서 각 상태에 맞게 서로 다른 화면들을 보여줄 수 있는 좋은 방법들을 생각해 봐야 합니다 자 이제 게임과 관련된 몇가지를 더 얘기해볼까요? 바로 게임의 환경에 관한 것입니다 캐릭터가 공간을 향해 나아가는 사이드 스크롤 방식일까요? 새의 관점에서 봤을 때 미로를 지나는듯할까요? 3D 환경일까요? 골치 아파 보이지만 할 수 있습니다 여러 단계가 필요할까요? 각 단계별로 다른 환경을 넣을까요? 캐릭터는 어떻게 해야하죠? 그들은 아마 다른 행동과 감정과 상태를 갖고 있을 것입니다. 예를 들면 행복한 상태와 죽은 상태같이 말이죠 그리고 어떨 땐 사용자 조작이나 프로그램을 통한 조작이 필요합니다 여러분의 프로그램은 이런 것들을 제공할 논리가 필요합니다 한가지 방식이 있을 수도 있고 여러 방식이 있을 수도 있습니다 게임 진행중에 필요할 수도 있죠 캐릭터를 게임 환경안에 넣게 되면 우린 몇개의 아이템을 추가해주기도 하는데 그렇게 되면 서로 충돌하게 됩니다 언제 충돌할지 알아야 하는데 왜냐하면 마주쳐야 할 것들이 있고 피해야 할 것들이 있기 때문입니다 예를들어 보석은 먹어야하고 무서운 거북이는 피해야 하는 것 처럼요 그래서 우리는 각 객체간 충돌을 발견하고 조정할 수 있어야 합니다 가끔은 아주 단순한 충돌이 있기도 하지만 객체들이 모두 다른 크기나 모양일 경우 훨씬 복잡해지기도 하기 때문이죠 마지막으로 게임이라면 보통 점수가 있어야 합니다 그럼 사용자에게 점수를 어떻게 표시해줄 수 있을까요? 언제 이기고 졌음을 표시해 줄 수 있을가요? 승리 화면과 실패 화면을 얼마나 극적으로 보여줄 수 있을까요? 게임이나 시각화를 만들 때 고려해야 할 수많은 측면들을 살펴보았습니다 우린 이런 과정들을 익혀갈 거에요 여러분이 얼마나 알고 있는지는 잘 모르지만 아마도 여러분은 멋진 무언가를 만들기 위해 배웠던 많은 지식들을 합치고 조합하게 될겁니다.