차례:
비디오: 탭 콘텐츠 접근성 향상 시키기! #10 자바스크립트 개발하기 (2) 2024
벡터 추가 원칙은 다양한 방법으로 HTML5 게임에 유용 할 수 있습니다. 하나는 드래그 효과를 추가하여보다 정확한 육상 행동으로 이어질 수 있습니다. 한밤중에 당신의 차가 나쁜 이웃에 갇혀 있다고 상상해보십시오 (다시). 자동차 위치를 직접 바꿀 수는 없습니다. 당신은 심지어 그 움직임을 바꿀 수 없다.
대신에 힘을 추가해야합니다. 힘을 추가하면 천천히 모션 벡터에 추가됩니다. 결국, 차가 움직이기 시작합니다. 힘을 가하는 것을 멈 추면 바람 저항과 구름 저항이 차를 느려지므로 결국 멈출 것입니다.
게임 드래그 레이스
드래그. html 예는 가속기 (이 경우 위쪽 화살표)가 해제되면서 천천히 가속되고 정지 속도가 느려지는 사실적인 자동차를 보여줍니다.
행동을 이해하려면 실제로 프로그램을보아야합니다.
드래그 var 게임. var 보트; function Car () {tCar = new Sprite (게임, "자동차.png", 100, 50); tCar. checkKeys = function () {콘솔. 로그 (이 속도); if (keysDown [K_LEFT]) {this. changeImgAngleBy (-5);} if (keysDown [K_RIGHT]) {this. changeImgAngleBy (5);} if (keysDown [K_UP]) { this. addVector (this. imgAngle, 2); } // 현재 방향으로 이동합니다. addVector (this.imgAngle, 2);} // checkKeys 끝내기 tCar. checkDrag = function () { 속도 = this. getSpeed (); 속도 * =. 95; 이것. setSpeed (속도); } // end checkDrag return tCar;} // end 자동차 def 함수 init () {game = new Scene (); 경기. setBG ("# 666666"); car = new Car (); 경기. start ();} // init 함수를 끝내십시오. update () {game. 명확한(); 차. checkKeys (); 차. checkDrag (); 차. update ();} // end update
게임에서 드래그를 구현하는 방법
이 버전은보다 사실적인 힘 기반 동작을 사용합니다. 사용자가 위쪽 화살표를 누르면 자동차가 속도를 높입니다. 사용자가 위쪽 화살표를 눌렀다면 자동차가 자연스럽게 최고 속도에 도달합니다. 사용자가 위쪽 화살표를 놓으면 차가 서서히 느려지고 결국 멈 춥니 다. 힘 벡터가 열쇠입니다.
작동 원리는 다음과 같습니다.
-
기본 차량을 만듭니다.
checkKeys () 메서드를 사용하여 사용자 정의 스프라이트를 만들고 모든 일반적인 화살표 키를 확인합니다. 왼쪽 및 오른쪽 화살표를 확인하는 코드는 정확히 예상 한 것입니다.
-
힘 벡터로 앞으로 이동하십시오.
앞으로 이동하는 코드는 약간 다릅니다. 단순히 속도를 직접 수정하는 것보다 자동차의 현재 방향에 힘을가하십시오. 스프라이트의 getImgAngle () 메서드를 사용하여 자동차가 가리키는 방향을 결정하고 그 방향으로 작은 힘을 추가합니다.
-
checkDrag () 메소드를 생성하십시오.
자동차는 힘없이 그냥 계속 가지 않는다. 바람과 땅의 저항은 그들을 늦추고 결국 멈출 것입니다. checkDrag () 메서드를 객체에 추가하여 다양한 끌기 동작을 시뮬레이션합니다.
-
속도에 항력을 곱하십시오.
이 예에서는 다양한 드래그 포스가 매 프레임마다 속도의 5 %를 떨어 뜨립니다. 게임은 초당 20 프레임으로 실행되므로 드래그 력은 상당히 상당합니다. 여러 가지 방법으로 끌기 효과를 얻을 수 있지만 가장 쉬운 방법은 자동차의 속도에 1보다 작은 값을 곱하는 것입니다.
-
브레이크가 필요 없습니다!
자존심이 강한 아케이드 카가 브레이크를 작동시키는 것은 무엇입니까? 진지하게, 당신은 아래쪽 화살표 입력을 추가하기를 원할 것입니다, 그러나 차가 독자적으로 감속 할 것이기 때문에 그것은 필요하지 않습니다.
-
맛을 내기위한 계절.
이 예는 대략적인 개요를 제공하지만 원하는 자동차 성능을 얻기 위해 여러 값을 수정할 수 있습니다. 가속기를 누를 때 힘 벡터를 증가시켜보다 강력한 엔진 (또는 더 작은 질량)을 시뮬레이션 할 수 있습니다.
사용자가 오른쪽 또는 왼쪽 화살표를 누르면 선회율을 변경하여보다 응답 성이 좋은 서스펜션을 시뮬레이션 할 수 있습니다. 드래그 비율을 수정하여 다소 효율적인 자동차를 시뮬레이션 할 수도 있습니다. 현재 자동차는 어느 속도로든 회전하지만 차가 특정 속도 미만이면 왼쪽 및 오른쪽 화살표 입력을 방지 할 수 있습니다.