원래 몇 문장을 쓰고 싶었는데, 이전 글에 대한 반응이 별로 만족스럽지 않은 걸 보니 원래는 '뱀'을 쓸 생각이었는데, 한번 살펴보도록 하겠습니다. 소스코드로 바로 이동하세요.
이번에는 이전 프로그램을 기반으로 다음 기능이 추가되었습니다.
1. 키보드 제어
2. 시작, 일시정지
3.
제거 시 빈 줄 일시 정지 효과
4. 제거되는 줄이 늘어날수록 속도가 빨라집니다
5. 음향 효과
등.
코드의 설명이 매우 자세하게 나와 있습니다. 이전 글의 모델 코드는 기본적으로 변경되지 않았습니다. 컨트롤과 그래픽 코드만 추가된 것이 비교적 정리된 느낌입니다. 팁: 이 글에 나오는 테트리스 게임은 최상의 실행 결과를 얻으려면 Chrome
브라우저가 필요하며, Firefox 브라우저도 작동합니다. 하지만 음향 효과는 없습니다.
마지막에 긴 문장이 두 개 있으니 읽고 싶으시면 그냥 읽어주세요. 코드의 이 부분은 주로 두 개의
타이머로 구성됩니다.
첫 번째 타이머는 간격마다 TickMessage 메시지를 생성합니다. 이 메시지의 처리는 블록이 낙하한 후 사라질 때마다 트리거 속도가 빨라집니다. 두 번째 타이머는
Loop메시지로 최대한 빠르게 반복되므로 시간 간격은 0으로 설정됩니다. 게임 전체의 모델 부분과 컨트롤 부분에서는 이벤트가 많이 발생하고, 사용자가 언제 버튼을 눌렀는지 아무도 모르기 때문에
queue. 새로운 상황이 발생하면 해당 메시지가 메시지 큐에 추가되고, 메시지 루프는 메시지가 있는 한 계속해서 메시지를 꺼내서 처리합니다.그래픽 부분에서는 7가지 색상의 작은 사각형을 미리 그려놓고 캐시
하여 나중에 필요할 때 바로 사용할 수 있도록 하는 것이 핵심입니다. 그렇지 않고 일시적으로 그리면 블록 수가 증가함에 따라 프로그램이 중단됩니다.위 내용은 HTML5로 플레이하면서 배우기(10) - 테트리스 제어 인터페이스(소스 코드)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!