개인 재정 Simplegame으로 애니메이션을 제작하는 법. js HTML5 게임 - 더미

Simplegame으로 애니메이션을 제작하는 법. js HTML5 게임 - 더미

차례:

비디오: 바닐라 JS로 게임 만들기 Vanilla JS | #2 1 2D Context 2024

비디오: 바닐라 JS로 게임 만들기 Vanilla JS | #2 1 2D Context 2024
Anonim

다양한 HTML5 게임 엔진 기능을 모두 단순화하는 라이브러리를 만들 수 있습니다. 라이브러리 사용을 고려하십시오: simpleGame. js. 이 라이브러리는 사용하기 쉽고 정교한 게임 개발을 완벽하게 지원합니다. 시작하려면 실제로 두 개의 오브젝트 만 이해하면됩니다.

  • 장면: 이 오브젝트는 HTML 캔버스 오브젝트로 시작하여 메인 루프를 추가합니다. 장면은 게임을 제어하는 ​​통합 개체입니다.

  • 스프라이트: 이 객체는 화면에서 움직이는 요소입니다. 대부분의 게임 요소는 스프라이트입니다. 각 스프라이트는 하나의 장면에 속해야하지만 원하는만큼의 스프라이트를 가질 수 있습니다. 스프라이트는 이미지를 기반으로합니다.

이 코드는 실제로 보이는 것보다 훨씬 정교합니다. 그것이하는 일은 다음과 같습니다:

  • 페이지에 캔버스를 추가합니다. 회색 사각형은 실제로 페이지에 자동으로 추가 된 캔버스 태그입니다.

  • 게임 루프를 시작합니다. 이 프로그램의 게임 루프는 이미 초당 20 프레임으로 실행됩니다.

  • 스프라이트가 포함되어 있습니다. 볼 이미지는 어떤 방향으로 어떤 속도를 움직일 수있는 능력과 충돌 탐지와 같은 다른 흥미로운 기능을 내장 한 스프라이트입니다.

  • 볼이 움직입니다. 한면을 떠날 때 자동으로 화면의 다른면을 감 쌉니다.

전체 코드 목록은

redBall입니다. html // 움직이는 공이있는 단순한 게임 var scene; var 공; 함수 init () {scene = new Scene (); ball = 새로운 Sprite (장면, "redBall.png", 50, 50); 공. setMoveAngle (180); 공. setSpeed ​​(3); 장면. start ();} // 종료 init 함수 update () {scene. 명확한(); 공. update ();} // end update

기본 HTML5 페이지로 시작하여 게임 환경으로 전환하기위한 몇 가지 기능을 추가합니다.

게임 페이지를 만드는 법

기본 페이지를 작성하여 시작하십시오.

  1. HTML5 페이지로 시작하십시오.

    다른 웹 개발에 사용했던 것과 동일한 도구를 사용할 수 있습니다. 다른 HTML5 문서와 마찬가지로 기본 HTML5 템플릿을 만듭니다.

  2. simpleGame을 가져옵니다. js 라이브러리.

    이 도서관은 웹 사이트에서 무료로 구할 수 있습니다. 태그를 사용하여 라이브러리를 가져옵니다. src 속성을 라이브러리 이름 (simplegame.js)으로 설정합니다.

  3. HTML을 단순하게 유지하십시오.

    많은 돈이 필요하지 않습니다. 게임 엔진은 장면이 포함 된 캔버스를 만듭니다. 제목, 지침 또는 스코어 보드와 같은 기타 도구를 페이지에 넣을 수 있지만 게임 엔진이 대부분의 작업을 수행합니다.

  4. 본문이로드되면 init ()을 호출하십시오.

    몸체가로드 될 때 호출되는 함수를 갖는 것은 매우 일반적입니다. body 태그에 onload = "init ()"을 추가하여 init () 메서드를 호출합니다.

  5. 코드를 포함 할 두 번째 스크립트 태그를 만듭니다.

    사용자 정의 코드를위한 두 번째 스크립트 태그가 있어야합니다. 라이브러리를 가져 오는 태그 뒤에이 값을 추가하십시오.

  6. 스크립트에 두 개의 함수를 추가하십시오.

    모든 simpleGame 프로그램에는 최소한 두 가지 기능이 있습니다. init ()은 시작시 발생하고 update ()는 프레임 당 한 번 발생합니다.

게임 초기화 방법

게임의 초기화 부분은 페이지가로드 될 때 발생합니다. 주로 스프라이트 및 기타 리소스를 설정하는 데 사용됩니다. 코드는 다음과 같습니다.

var scene; var 공; 함수 init () {scene = new Scene (); ball = 새로운 Sprite (장면, "redBall.png", 50, 50); 공. setMoveAngle (180); 공. setSpeed ​​(3);} // end init

대부분의 게임은 유사한 스타일의 초기화를 사용합니다. 게임을 설정하는 방법은 다음과 같습니다.

  1. 장면을 포함 할 변수를 정의하십시오.

    모든 simpleGame 게임에는 적어도 하나의 장면 개체가 있습니다. 어떤 기능 외부의 장면을 정의하여 모든 장면에서 사용할 수 있도록하십시오. 실제로 init () 함수 안에서 장면을 생성 할 것이다.

  2. 각 스프라이트에 대한 변수를 정의하십시오.

    게임의 모든 스프라이트는 글로벌 변수에도 속해야합니다. init () 함수에서 스프라이트를 만들지 만 모든 함수에서 변수를 사용할 수 있도록해야합니다.

  3. init () 함수를 빌드하십시오.

    이 함수는 body onload에 의해 호출됩니다. 페이지가 메모리에로드 된 후에 실행됩니다.

  4. 장면을 만듭니다.

    씬을 빌드하려면 씬 클래스의 인스턴스를 생성하십시오. 당신이 정말로 말하는 것은 "나에게 씬 객체를 만들고이 특정한 인스턴스를 씬이라고 부른다. ' "장면에는 어떤 매개 변수도 필요하지 않습니다.

  5. 볼 정령을 만듭니다.

    볼은 Sprite 인스턴스입니다. 스프라이트를 만들기 위해서는 몇 가지 정보가 필요하다. 장면, 이미지 파일 이름, 너비 및 높이가 필요합니다.

  6. 볼의 이동 각도를 설정합니다.

    볼이 움직이는 각도를 변경할 수 있습니다. 각도는지도 에서처럼도 단위로 측정됩니다.

  7. 볼의 이동 속도를 설정합니다.

    볼의 속도를 결정할 수도 있습니다.

  8. 장면을 시작하십시오.

    모든 것을 다 설정했으면 장면이 시작되도록 알립니다.

게임 애니메이션 업데이트

씬을 시작하면 타이머가 시작됩니다. 초당 20 번, 그것은 update ()라는 페이지에서 함수를 호출 할 것입니다. 그래서, 당신은 그런 기능을 가질 필요가 있습니다. 그리고 당신의 게임을 실행할 수있는 코드가 필요합니다.

update () 함수도 그다지 어렵지 않습니다.

function update () {장면. 명확한(); 공.

이전 화면을 지 웁니다.

  • 첫 번째 비즈니스 순서는 마지막 화면으로 인한 혼란을 정리하는 것입니다. Scene 객체에는 정확히이 목적을 위해 clear () 함수가 있습니다. 이벤트 검사:

  • 일반적으로 사용자 입력, 서로 충돌하는 스프라이트, 화면을 벗어나는 스프라이트 등의 이벤트를 확인합니다.이 간단한 애니메이션의 유일한 이벤트는 화면을 떠나는 스프라이트이며,이 동작과 관련된 동작은 자동화되었습니다. 각 스프라이트 업데이트:

  • 화면 업데이트의 마지막 부분은 스프라이트를 업데이트하는 것입니다. 스프라이트를 업데이트하면 새로운 위치에 그려집니다. 화면을 지우지 않으면 어떻게됩니까? 모든 스프라이트 모션은 캔버스에 그려지며 움직이는 볼이 아닌 큰 얼룩처럼 보입니다.

Simplegame으로 애니메이션을 제작하는 법. js HTML5 게임 - 더미

편집자의 선택

WordPress 링크 목록 구성 방법 - 더미

WordPress 링크 목록 구성 방법 - 더미

두 개 이상의 링크 목록을 원할 경우 워드 프레스 대시 보드. 때로는 Blogroll 제목 아래에 큰 링크 목록이있는 것은 너무 일반적이므로 링크를 추가 표제와 함께 표시하려는 경우가 있습니다. 기본적으로 ...

WordPress 블로그 용 미디어 파일 구성 방법 - 인형

WordPress 블로그 용 미디어 파일 구성 방법 - 인형

시간을 들여 블로그를 운영하면 WordPress 업 로더로 업로드 한 파일을 쉽게 잊어 버릴 수 있습니다. WordPress 미디어 라이브러리를 사용하면 어떤 파일이 업로드 폴더에 있는지 쉽게 찾을 수 있습니다. 이미 업로드 한 이미지, 비디오 또는 오디오 파일을 찾으려면 ...

검색 엔진 용 WordPress 블로그 최적화 방법 - 사람들이 찾고 싶어하는

검색 엔진 용 WordPress 블로그 최적화 방법 - 사람들이 찾고 싶어하는

귀하의 워드 프레스 블로그, 그렇지 않으면 그것을 쓰는 시간이 걸리지 않았을 것입니다. WordPress는 검색 엔진에 친숙한 환경을 조성하여 아카이브, 카테고리 및 페이지를 쉽게 탐색 할 수 있도록 해줍니다. WordPress는이 환경에 깨끗한 코드 기반을 제공하여 쉽게 업데이트 할 수 있습니다.

편집자의 선택

Access 2002에서 사라지는 기록의 수수께끼 - 더미

Access 2002에서 사라지는 기록의 수수께끼 - 더미

바로 거기! "그 문장의 핵심 단어는 동사입니다. 왜냐하면 그것은 그 기록이 지금 존재하지 않는다는 것을 나타 내기 때문입니다. 컴퓨터가 알고 있기 때문에 레코드가 어디로 갔는지 정확히 알 수 없으며 컴퓨터는 이러한 세부 사항에 대해 침묵의 코드를 가지고 있습니다. (규칙의 일부입니다 ...

데이터베이스 디자인 - 더미

데이터베이스 디자인 - 더미

여기에는 데이터베이스 디자인의 다섯 가지 계보가 있습니다. 또는 다른 데이터베이스 프로그램. 잘 설계된 데이터베이스는 데이터를보다 쉽게 ​​유지 관리합니다. 그것이 어디에 있는지, 그것이 나타나는 곳이 아닌 곳에 정보를 저장하십시오. 정보를 저장하는 곳은 정보가 나타나는 위치와 아무 관련이 없습니다. 스프레드 시트에서 원하는 위치에 정보를 입력합니다.

Access 2016에서 표 분석기를 사용하는 방법 - 인형

Access 2016에서 표 분석기를 사용하는 방법 - 인형

Access Table Analyzer는 가져온 스프레드 시트와 같이 지저분한 플랫 파일 테이블을 모든 반복적 인 데이터와 함께 사용하여 효율적인 관계형 테이블 집합으로 변환합니다. 그러나 속담처럼 약속은 깨진 약속입니다. 플랫 파일이 엄격한 규칙을 따르지 않는 한 ...

편집자의 선택

와이어 프레임을 사용하여 세 가지 글꼴 규칙을 따르십시오 계획 : 인포 그래피 - 인형을 사용하는 세 가지 글꼴 규칙을 따르십시오

와이어 프레임을 사용하여 세 가지 글꼴 규칙을 따르십시오 계획 : 인포 그래피 - 인형을 사용하는 세 가지 글꼴 규칙을 따르십시오

좋은 디자인의 향신료지만, 글꼴에 관해서라면, 현명한 디자이너는 충분히 충분한 지 알고 있습니다. 세 가지 서체를 사용하는 경우 인포 그래픽은 몸값 또는 커뮤니티 뉴스 레터처럼 보이게됩니다.

와이어 프레임 계획에 대한 전반적인 레이아웃 개념화 : Infographic - Dummies

와이어 프레임 계획에 대한 전반적인 레이아웃 개념화 : Infographic - Dummies

에 대한 전반적인 레이아웃 개념화 귀하의 인포 그래픽이 도움이 될 수 있도록 와이어 프레임에서 작업하지만 필수는 아닙니다. 정보를 수집하고 사용할 차트 및 삽화 유형에 대해 알고 있다면 전반적인 테마 또는 특정 레이아웃에 대한 몇 가지 아이디어가있을 수 있습니다. 표시된 주제 ...

와이어 프레임 계획 : 모든 다른 정보에 대한 확고한 생각을 갖고 나면 인포 그래피 - 인형 매핑 및 차단

와이어 프레임 계획 : 모든 다른 정보에 대한 확고한 생각을 갖고 나면 인포 그래피 - 인형 매핑 및 차단

귀하의 인포 그래픽에 필요한 그림 유형을 와이어 프레임에 배치하십시오. 정확한 게재 위치는이 단계에서는 중요하지 않지만 전체적인 크기와 각 그림 주위의 거리에 대한 느낌을 받기 시작해야합니다. 자리 표시 자 사용 - 대략적인 스케치 또는 더미 ...