비디오: C# 기초: Interface(인터페이스) 만들고 사용하기_ICar 인터페이스를 Car 클래스에 상속하여 구현하기 2024
속성은 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 객체에 속도를 변경하도록 요청한 경우 시스템에 지시 할 것입니다.
-
checkKeys라는 새 속성을 만듭니다.
JavaScript에서는 속성과 메서드가 완전히 똑같습니다. 일반 변수를 객체에 연결하면이 변수가 속성이됩니다. 함수에 함수를 첨부하면 메서드입니다. (속성 이름은 일반적으로 명사이며 메서드 이름은 일반적으로 동사 또는 동사 구문입니다.)
-
동작을 포함 할 새로운 방법을 빌드하십시오.
changeSpeed는 일반 속성이 아니라 메소드이므로 함수를 추가합니다. (컴퓨터 과학 전공자를 위해, 익명의 함수를 파리에 작성하는 것은 람다 함수의 예입니다. 중간 고사를보세요!)
-
키보드 입력을 확인하십시오.
Critter 객체를 만들면 자체 키 누르기를 찾는 방법을 이미 알고 있습니다.
-
키보드 입력에 따라 속도를 변경하십시오.
사용자가 오른쪽을 누르면 속도가 증가합니다 (기본 방향에서는 양수 속도로 스프라이트가 오른쪽으로 이동 함).사용자가 왼쪽을 누르면 속도가 감소합니다.
-
setSpeed () 메서드를 사용하여 실제 속도를 변경합니다.
크리에이터의 청사진을 제공하는 Sprite 객체에는 이미 setSpeed () 메서드가 있습니다. 이 메서드를 사용하면 개체가 표시된 속도로 이동합니다.
-
메소드 내에서 this 키워드를 사용하십시오.
생성자에서 메서드를 만들면 컴퓨터가 사물의 이름에 대해 약간 혼동을 일으킬 수 있습니다. 대부분, 당신은 tCritter라고 불리는 일시적인 생물에 물건을 추가하고 있습니다. 혼란을 피하기 위해 수정중인 객체의 다른 속성이나 메소드를 참조해야하는 경우 객체의 실제 이름 대신 general 키워드 this를 사용하십시오.
-
키보드 ()를 확인하도록 update () 함수를 수정하십시오.
주요 update () 함수는 프레임마다 한 번 발생합니다. 프레임 당 한 번만 수행하려는 것은 update ()에서 호출해야합니다. 동물에게 전화를 걸어 라. checkKeys (). 이것은 모든 프레임마다 키보드를 점검하고 필요에 따라 속도를 변경하도록 작업자에게 알려줍니다.