이 게임의 쓰기 난이도는 이전보다 훨씬 높아졌습니다. 이번에는 js 상속과 디자인 패턴의 팩토리 패턴을 사용했는데, 이것도 획기적인 일입니다. . .
게임의 일반적인 디자인 아이디어:
1. 플레이어 유형 플레이어: 좌우로 움직일 수 있는 작은 사람.
기본 방법: {
좌우 이동: 키보드를 좌우로 움직이기만 하면 됩니다.
하향 이동: 하향 가속도 이동에 속합니다. 각 이동은 중력 가속도 값을 추가합니다.
위로 이동: 실제로 블록과 함께 위쪽으로 이동하며 일정한 속도로 위쪽으로 이동합니다.
바운스: 플레이어가 위쪽으로 먼저 감속한 후 속도가 1 미만이 되면 아래와 같이 가속합니다
}
2. 블록 기본 클래스 BlockBase: 공개 메서드와 인터페이스를 갖춘 모든 블록의 기본 클래스입니다.
기본 메소드 소유: {
이동: 블록이 일정한 속도로 위쪽으로 이동합니다.
플레이어가 블록에 있는지 감지: 플레이어가 블록에 머물고 있는지 확인
}
및 일부 추상 인터페이스 함수에는 이름만 있으므로 하위 클래스에서 구현해야 합니다. 자세한 내용은 소스 코드를 참조하세요.
3, NormalBlcok, FlipBlock 등 다양한 하위 카테고리
상속은 다음과 같이 구현됩니다.
생성자에서: BlockBase.call(this); 프로토타입이 아닌 속성과 메서드를 상속합니다
함수 외부: subclass block.prototype = new BlockBase(); 기본 클래스 프로토타입의 속성과 메소드를 상속합니다.
4. Factory 클래스 BlockFactory: 블록 생성 및 블록 처리를 담당합니다
기본 메소드 소유: {
블록 생성: 무작위로 블록을 생성하는 것이 핵심 방법
}
사실 무슨 말을 해야할지 모르겠으니 소스코드를 살펴보겠습니다. 나는 그것에 대해 매우 구체적인 의견을 제시했습니다.
또한 버그가 있을 수 있으니 다들 이해해주시길 바랍니다. . .
마지막으로 미리 말씀드리겠습니다. 모두가 제가 더 발전할 수 있도록 도와주셨으면 좋겠습니다. 코드를 작성하는 것이 가장 좋습니다.
좌우 방향으로 움직임을 제어하는 인터페이스가 좀 아쉽습니다. . . 용서해주세요.
데모 코드: http://demo.jb51.net/js/DownFloor/index.html
전체 소스 코드 패키징>> /201011/yuanma/ DownFloor.rar