> 웹 프론트엔드 > JS 튜토리얼 > JavaScript로 간단한 Windows 8 게임 만들기 : 게임 로직

JavaScript로 간단한 Windows 8 게임 만들기 : 게임 로직

William Shakespeare
풀어 주다: 2025-02-25 17:38:13
원래의
781명이 탐색했습니다.

JavaScript로 간단한 Windows 8 게임 만들기 : 게임 로직 키 테이크 아웃

모든 게임의 하트 비트 인 게임 루프는 초당 여러 번 실행되며 두 가지 주요 작업이있는 함수입니다. 무슨 일이 일어나고 있는지 업데이트하고 새로운 장면을 그리는 것. Easeljs Ticker 클래스는 게임 루프 타이밍을 관리하고 게임 루프를 일시 중지/재개 및 경과 시간을 측정하는 데 사용됩니다. 게임 로직에는 발사 샷 기능을 추가하고, 디스플레이 업데이트, 샷 이동, 히트 곡 처리 및 게임 종료가 포함됩니다. Easeljs displayObjects는 hittest () 메소드를 지원하므로 포인트가 현재 객체의 위치를 ​​초과하는지 쉽게 확인할 수 있습니다.

이것은 4 주 동안 4 주에 걸쳐 일련의 4 개의 게시물 중 세 번째로 HTML5, JavaScript, WinJS 및 CreateJS를 사용하여 간단한 Windows 8 게임을 만드는 방법을 보여줍니다. 이 게임은 XNA 샘플 게임 "Catapult Wars Lab"을 기반으로합니다. 웹 기술을 기반으로하는 Windows 8 용 새 버전을 개발함에 따라 해당 게임의 자산을 재사용 할 것입니다. 이 게시물에서는 게임 논리와 JavaScript를 통해 상황에 생명을 불어 넣을 것입니다. 게임 루프 모든 게임의 하트 비트는 게임 루프입니다.  초당 여러 번 실행되고 두 가지 주요 작업이있는 기능입니다. 진행중인 작업을 업데이트 한 다음 새 장면을 그립니다. 2 부에서는 이미 개요를 제자리에 두었습니다.
    이제 문제는 Gameloop () 함수를 어떻게 시작하고 초당 여러 번 계속 실행해야합니까? Easeljs Ticker 클래스 다행히도 Easeljs는 우리가 사용할 몇 가지 기능을 갖춘 시세 클래스가 있습니다.
  • 게임 루프의 타이밍을 관리하십시오 게임 루프를 일시 중지/재개하십시오 경과 시간을 측정하십시오
정적 클래스이므로 사용을 시작할 수 있습니다.  default.js에서는 새 startgame () 함수를 추가하고 preparame ()의 끝에서 호출하십시오. JavaScript로 간단한 Windows 8 게임 만들기 : 게임 로직 여기서 우리는 Ticker를 사용하여 Window.requestanimationFrame을 사용하여 Gameloop 함수가 얼마나 자주 호출되는지 제어합니다. requestAnimationFrame은 작업이 불필요하게 수행되지 않도록하는 웹 애플리케이션을위한 비교적 새로운 API입니다.  이것이 고정 타이머를 설정하는 것보다 더 나은 이유를 이해하려면 (예 : settimeout ()) IE 테스트 드라이브 사이트의 requestAnimationFrame 샘플을 참조하십시오. JavaScript로 간단한 Windows 8 게임 만들기 : 게임 로직 requestAnimationFrame이 준비 될 때마다 게임 루프가 실행됩니다. “준비, 조준, 화재!” 좋아, 이제 우리는 달리기 게임 루프가있는 게임이 있으므로 이제 재미를 더할 시간입니다! 각 플레이어/투석기는 탄약/암석을 다른 사람을 향해 발사 할 것입니다.  우리는 현재 샷이 날고 있는지, 누가 돌고 있는지, 그리고 샷이 어떻게 움직이고 있는지 알아야합니다. 먼저 Default.js에 더 많은 변수를 추가하겠습니다.

이제 update () 함수에 다음을 추가하여 일부를 사용해 봅시다.

현재 두 플레이어는 차례에 자동으로 (임의의 속도로) 발사됩니다.  AmmobitMap은 발사 투석기의 상단 중심으로 이동되며 Shotvelocity는 경계 범위 내에서 임의의 값을 제공합니다 (화면 해상도를 위해 조정). 또한 FirShot () 함수를 추가하여 샷을 보여주고 게임에 공중에 있다고 알려줍니다. JavaScript로 간단한 Windows 8 게임 만들기 : 게임 로직   디스플레이 업데이트 공기를 통해 샷을 움직이기 전에 게임 루프 방정식의 두 번째 절반 (화면으로 그리기)에 초점을 맞추겠습니다.  이것은 종종 매우 복잡 할 수 있지만 Easeljs 단계는 캔버스에 콘텐츠 (모든 어린이 - 비트 맵, 텍스트 등)를 그려야합니다. 그래서 우리는 필요한 전부입니다. JavaScript로 간단한 Windows 8 게임 만들기 : 게임 로직 그게 다야!  게임을 실행하면 플레이어 1은 자동으로 발사되며 샷은 빨간 투석기 위에 나타납니다… JavaScript로 간단한 Windows 8 게임 만들기 : 게임 로직 … 그러나 그것은 멍청하지 않을 것입니다.  일을 움직이게합시다. 샷을 움직입니다

update () 함수로 돌아가서 if (shotisflying) 문에 로직을 추가하겠습니다.

아직 실행하지 마십시오. 여전히 두 가지 기능이 필요하지만 다음은 다음과 같습니다. JavaScript로 간단한 Windows 8 게임 만들기 : 게임 로직 149 & 150 행 - 속도를 추가하여 샷을 움직입니다 (위로 올라 가거나 왼쪽으로 왼쪽으로 표시 될 수 있음) 라인 151 - 속도 JavaScript로 간단한 Windows 8 게임 만들기 : 게임 로직에 중력을 적용하십시오 라인 153-155-화면의 왼쪽 또는 오른쪽 가장자리에서 샷이 땅에 닿거나 사라 졌습니까? 157-160 라인-누락-샷을 종료하고 플레이어를 변경하십시오 162-168 라인-플레이어 1의 샷-플레이어 2에 맞는지 확인하십시오. 그렇다면 플레이어 2의 삶을 업데이트하십시오. 169-175 라인-플레이어 2의 샷-플레이어 1에 맞는지 확인하십시오. 그렇다면 플레이어 1의 삶을 업데이트하십시오. CheckHit (BitMap)을 추가하겠습니다. 기능:
  • Hittest에 대한 그 이야기는 무엇입니까?  easeljs displayObjects (비트 맵 기반)는 hittest () 메소드를 지원하므로 포인트가 현재 객체의 위치를 ​​초과하는지 쉽게 알 수 있습니다.  불행히도, 우리는 객체를 확장하고 있으며 Hittest는 원래 크기 와만 작동하므로 적중을 확인해야합니다.  약간의 수학과 우리는 설정되었습니다. 히트 히트
  • 이제 processhit () 함수를 추가하십시오.
  • 이것은 단순히 샷을 끝내고 플레이어를 변경하며 게임이 끝나지 않았는지 확인합니다. 게임 종료 게임을 종료 하여이 게시물을 끝내자.  엔드 게임 (이미지) 함수 추가 :
  • 그게 다야!  이제 게임을 실행하고 누가 이길 수 있는지 볼 수 있습니다.
  • > 다음은 무엇입니까?
  • 우리는이 부분에 많은 것을 추가했습니다 - 물건이 그리기, 움직이고, 치기, 결말… 그러나 두 개의 간격 구멍이 있습니다.  먼저 플레이어는 실제로 플레이하지 않으므로 다음에 입력 처리를 추가합니다.  둘째, 특히 전쟁의 경우 상황이 끔찍하게 조용합니다. 그래서 우리는 일부 소리를 낼 것입니다. 파트 4 : 다음 주! JavaScript를 사용하여 간단한 Windows 8 게임을 만드는 것에 대해 자주 묻는 질문 Windows 8 용 JavaScript로 게임을 만들기 시작하려면 Windows 8 용 JavaScript로 게임을 만들려면 JavaScript 및 HTML5를 기본적으로 이해해야합니다. 또한 Windows 8 응용 프로그램의 개발 환경 인 Visual Studio를 설치해야합니다. 이러한 전제 조건이 있으면 Visual Studio에서 새 프로젝트를 만들고 "빈 앱"템플릿을 선택하여 시작할 수 있습니다. 거기에서 JavaScript로 게임 논리를 작성하고 HTML5 및 CSS와 게임 인터페이스를 설계 할 수 있습니다. JavaScript로 간단한 Windows 8 게임 만들기 : 게임 로직 JavaScript로 만들 수있는 게임의 몇 가지 예는 무엇입니까?

    JavaScript는 다재다능합니다. 다양한 게임을 만드는 데 사용할 수있는 프로그래밍 언어. 몇 가지 예로는 퍼즐 게임, 전략 게임, 플랫 포머 및 3D 게임이 포함됩니다. 가능성은 끝이 없으며 올바른 도구와 리소스를 사용하면 상상할 수있는 모든 유형의 게임을 만들 수 있습니다. 내 JavaScript 게임에 상호 작용을 추가 할 수있는 방법은 무엇입니까?

    JavaScript 게임의 상호 작용은 이벤트 핸들러를 통해 달성 할 수 있습니다. 이 기능은 마우스 클릭 또는 키 프레스와 같은 특정 이벤트가 발생할 때 트리거되는 기능입니다. 예를 들어, 'onclick'이벤트를 사용하여 사용자가 게임 요소를 클릭 할 때 기능을 트리거 할 수 있습니다. 또는 사용자가 키를 누르면 문자를 움직일 수있는 'onkeydown'이벤트를 사용하여 문자를 움직일 수 있습니다. 내 JavaScript 게임을 테스트하고 디버깅 하는가?

    테스트 및 디버깅은 게임 개발의 중요한 부분입니다. Visual Studio는 강력한 디버깅 도구를 제공하여 코드를 밟고 변수를 검사하며 오류 또는 버그를 식별 할 수 있습니다. 콘솔을 사용하여 메시지를 로그인하고 코드 실행을 추적 할 수도 있습니다.

    성능을 위해 JavaScript 게임을 최적화하려면 어떻게해야합니까?

    성능을 위해 JavaScript 게임을 최적화하면 여러 기술이 포함됩니다. . 여기에는 글로벌 변수의 사용을 최소화하고 게임 루프에 대한 requestAnimationFrame 사용, 이미지 및 자산 최적화, 게임 로직에 대한 효율적인 알고리즘 사용이 포함됩니다. 다양한 장치와 브라우저에서 게임을 테스트하여 원활하게 실행되는지 확인하는 것도 중요합니다.

    JavaScript 게임에 사운드와 음악을 추가 할 수 있습니까?

    사운드와 음악이 추가 될 수 있습니다. HTML5 오디오 API를 사용한 JavaScript 게임에. 이를 통해 사운드 파일을로드하고 재생하고 볼륨을 제어하며 사운드 효과를 만들 수 있습니다. Howler.js와 같은 라이브러리를 사용하여 프로세스를 단순화하고 고급 오디오 기능을 추가 할 수 있습니다.

    Windows 스토어에 JavaScript 게임을 게시하려면 어떻게해야합니까?

    일단 개발을 마치면 개발을 마쳤습니다. 게임, 상점 계정을 만들고 앱 등록 및 인증을 위해 제출하여 Windows 스토어에 게시 할 수 있습니다. 스크린 샷, 설명 및 게임에 대한 기타 정보를 제공해야합니다. 게임이 승인되면 Windows 스토어에서 다운로드 할 수 있습니다.

    내 JavaScript 게임 수익을 창출 할 수 있습니까?

    예, 여러 가지 방법으로 JavaScript 게임을 수익을 창출 할 수 있습니다. 한 가지 옵션은 Windows 스토어에서 게임을 판매하는 것입니다. 플레이어가 추가 컨텐츠 또는 기능을 구매할 수있는 인앱 구매를 포함 할 수도 있습니다. 또 다른 옵션은 게임 플레이 경험을 방해하지 않도록 드물게 수행되어야하지만 게임에 광고를 표시하는 것입니다.

    JavaScript를 사용하여 다른 플랫폼 용 게임을 만들 수 있습니까? 예, JavaScript는 JavaScript입니다. Windows 8 또는 특정 플랫폼으로 제한되지 않습니다. 올바른 도구와 라이브러리를 사용하면 웹 브라우저, 모바일 장치 및 게임 콘솔을 포함한 다양한 플랫폼에서 실행되는 게임을 만들 수 있습니다. JavaScript를 사용한 크로스 플랫폼 게임 개발을위한 인기있는 라이브러리에는 Phaser, Pixi.js 및 Three.js. JavaScript를 사용한 게임 개발에 대해 자세히 알아볼 수있는 곳은 어디입니까?

    JavaScript를 사용한 게임 개발에 대해 온라인으로 사용할 수있는 많은 리소스가 있습니다. W3Schools, Mozilla Developer Network 및 Codecademy와 같은 웹 사이트는 자바 스크립트 및 게임 개발에 대한 자습서와 가이드를 제공합니다. 다른 개발자로부터 배우고 도움을받을 수있는 많은 책, 온라인 코스 및 포럼도 있습니다.

    위 내용은 JavaScript로 간단한 Windows 8 게임 만들기 : 게임 로직의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    저자별 최신 기사
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿