개인 재정 HTML5 게임의 클래스에 메소드를 추가하는 방법 - 더미

HTML5 게임의 클래스에 메소드를 추가하는 방법 - 더미

비디오: C# 기초: Interface(인터페이스) 만들고 사용하기_ICar 인터페이스를 Car 클래스에 상속하여 구현하기 2024

비디오: C# 기초: Interface(인터페이스) 만들고 사용하기_ICar 인터페이스를 Car 클래스에 상속하여 구현하기 2024
Anonim

속성은 HTML 5 게임에서 개체의 특성을 설명하고 메서드 는 동작을 설명합니다. 메서드는 객체와 관련된 함수입니다. 메소드를 작성하는 것은 속성 작성과 매우 비슷하지만 간단한 값을 추가하는 대신 전체 함수를 이름에 할당합니다.

예를 들어, 다음 버전의 크리에이트에는 changeSpeed ​​() 메소드가 있습니다. 사용자가 위 화살표를 누르면, 동물은 속도를 올릴 것이고, 사용자가 아래 화살표를 누르면, 동물은 천천히 움직일 것이다 (그리고 결국 다른 방향으로 간다). 다음은 새 메서드가있는 크리에이터 코드입니다.

critterChangeSpeed. html var 게임; var 동물; function Critter () {tCritter = new Sprite (게임, "동물", 30, 30); tCritter. 속도 = 0; tCritter. checkKeys = function () { if (keysDown [K_RIGHT]) { 이 경우. 속도 ++; } if (keysDown [K_LEFT]) { 이 경우. 속도--; } tCritter. setSpeed ​​(이 속도); } // end method return tCritter;} init () {game = new Scene (); 생물 = 새로운 생물 (); 경기. start ();} function update () {게임. 명확한(); 동물. checkKeys (); 동물. update ();}

사용자가 키를 누를 때 이동한다는 점에 유의하십시오. 이것과 대부분의 예를 들어, 정적 이미지는 당신이 무슨 일이 진행되고 있는지 알 수있을만큼 충분하지 않습니다.

이 새로운 버전의 프로그램에서 Critter 객체는 새로운 동작이 확인되었습니다. 본질적으로, 메소드는 클래스 내에서 정의 된 함수 일뿐입니다. 당황하지 마십시오. 알아내는 것도 그리 어렵지 않습니다. 사용자가 Critter 객체에 속도를 변경하도록 요청한 경우 시스템에 지시 할 것입니다.

  1. checkKeys라는 새 속성을 만듭니다.

    JavaScript에서는 속성과 메서드가 완전히 똑같습니다. 일반 변수를 객체에 연결하면이 변수가 속성이됩니다. 함수에 함수를 첨부하면 메서드입니다. (속성 이름은 일반적으로 명사이며 메서드 이름은 일반적으로 동사 또는 동사 구문입니다.)

  2. 동작을 포함 할 새로운 방법을 빌드하십시오.

    changeSpeed는 일반 속성이 아니라 메소드이므로 함수를 추가합니다. (컴퓨터 과학 전공자를 위해, 익명의 함수를 파리에 작성하는 것은 람다 함수의 예입니다. 중간 고사를보세요!)

  3. 키보드 입력을 확인하십시오.

    Critter 객체를 만들면 자체 키 누르기를 찾는 방법을 이미 알고 있습니다.

  4. 키보드 입력에 따라 속도를 변경하십시오.

    사용자가 오른쪽을 누르면 속도가 증가합니다 (기본 방향에서는 양수 속도로 스프라이트가 오른쪽으로 이동 함).사용자가 왼쪽을 누르면 속도가 감소합니다.

  5. setSpeed ​​() 메서드를 사용하여 실제 속도를 변경합니다.

    크리에이터의 청사진을 제공하는 Sprite 객체에는 이미 setSpeed ​​() 메서드가 있습니다. 이 메서드를 사용하면 개체가 표시된 속도로 이동합니다.

  6. 메소드 내에서 this 키워드를 사용하십시오.

    생성자에서 메서드를 만들면 컴퓨터가 사물의 이름에 대해 약간 혼동을 일으킬 수 있습니다. 대부분, 당신은 tCritter라고 불리는 일시적인 생물에 물건을 추가하고 있습니다. 혼란을 피하기 위해 수정중인 객체의 다른 속성이나 메소드를 참조해야하는 경우 객체의 실제 이름 대신 general 키워드 this를 사용하십시오.

  7. 키보드 ()를 확인하도록 update () 함수를 수정하십시오.

    주요 update () 함수는 프레임마다 한 번 발생합니다. 프레임 당 한 번만 수행하려는 것은 update ()에서 호출해야합니다. 동물에게 전화를 걸어 라. checkKeys (). 이것은 모든 프레임마다 키보드를 점검하고 필요에 따라 속도를 변경하도록 작업자에게 알려줍니다.

HTML5 게임의 클래스에 메소드를 추가하는 방법 - 더미

편집자의 선택

Photoshop CS6의 이미지에서 원하지 않는 요소를 제거하는 방법 - 더미

Photoshop CS6의 이미지에서 원하지 않는 요소를 제거하는 방법 - 더미

Adobe Photoshop Creative Suite 6에서 원하지 않는 요소 (이 경우 사람)를 이미지에서 완벽하게 제거하는 단계입니다.이 기술을 처음 시도 할 때는 원하는 요소에 연결되지 않은 요소가있는 이미지로 시작하십시오 이미지를 유지하십시오. 무언가가 포함 된 이미지를 엽니 다.

Photoshop CS6에서 선택 영역을 알파 채널로 저장하는 방법 - 더미

Photoshop CS6에서 선택 영역을 알파 채널로 저장하는 방법 - 더미

중 하나 Photoshop CS6의 알파 채널에 대한 가장 큰 장점은 이미지를 저장 한 다음 시간과 시간을 다시 검색 할 수 있다는 것입니다. 이렇게하면 선택 영역을 만드는 데 많은 시간과 노력이 쏟은 경우 특히 편리 할 수 ​​있습니다. 요소를 다시 선택하려면 휠을 다시 만들어야합니다 ...

Photoshop 이미지 - 인형

Photoshop 이미지 - 인형

암실에서 디지털로 이동하면 소음을 줄이는 방법 영화 및 가공 비용의 달러화 (가능한 환경 오염의 감소는 말할 것도 없음)를 제공하지만 사진 및 예술 사업에 새로운 도전 과제를 추가했습니다. 디지털 사진이 제시하는 문제 중 가장 중요한 것은 노이즈입니다. ...

편집자의 선택

Adobe Photoshop Elements에서 디지털 사진의 레이어 삭제하기 -

Adobe Photoshop Elements에서 디지털 사진의 레이어 삭제하기 -

디지털 사진이 보이면 해당 사진에서 레이어를 삭제할 수 있습니다. 레이어를 삭제하면 해당 레이어의 내용이 이미지 파일에서 제거됩니다. Adobe Photoshop Elements를 사용하여 그림에서 레이어를 삭제합니다.

Adobe Photoshop Elements로 디지털 사진의 레이어 편집하기 - 더미

Adobe Photoshop Elements로 디지털 사진의 레이어 편집하기 - 더미

Adobe Photoshop Elements에서 특정 레이어를 변경하여 이미지의 나머지 부분을 변경하지 않고 이미지를 편집 할 수 있습니다. 편집하려는 부분이 편집하려는 레이어에 있는지 확인하기 만하면됩니다.

디지털 사진 편집 - 인형

디지털 사진 편집 - 인형

잠시 동안 디지털 카메라로 사진을 찍었 으면 항상 결과에 감격하고 "이 사진을 구원받을 수 있습니까? "그 대답은"그렇습니다. "다음 표의 트릭을 사용하여 좋아하는 사진 편집기에서 디지털 사진을 편집하십시오. 기능 설명 권장 크기 조정 ...

편집자의 선택

WordPerfect Office 2002에서 작업 영역 사용자 지정 - 더미

WordPerfect Office 2002에서 작업 영역 사용자 지정 - 더미

WordPerfect 인터페이스에 대한 많은 것을 제어 할 수 있습니다 프로그램이 어떻게 보이고 행동하는지에 대한 용어). 모든 옵션을 훑어 보는 데 몇 시간을 소비 할 수 있지만 더 나은 일을해야합니다. 아래는 대부분의 사람들이 WordPerfect에서 다루기 쉬운 작업을위한 옵션입니다. 옵션 본부 : 설정 ...

의 그래픽 작업 - 그래픽을 사용하기 전에 WordPerfect 11 - Dummy

의 그래픽 작업 - 그래픽을 사용하기 전에 WordPerfect 11 - Dummy

기본에서 그래픽 작업 상자. 모든 상자에는 테두리와 배경이 있습니다. 두 가지 방법으로 상자와 상자 안에있는 그림을 선택할 수 있습니다. 텍스트를 입력하고 상자를 클릭하면 검은 색 핸들과 테두리가 생기지 않습니다.